Bài giảng Lập trình trên Windows Chương 3 Trần Minh Thái

220 507 0
Bài giảng Lập trình trên Windows Chương 3  Trần Minh Thái

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Lập trình trên Windows Chương 3 Lập trình C trên Windows cung cấp cho người học các kiến thức Lập trình C trên Windows, lập trình trên Windows, eventdriven programming model, các bước cơ bản tạo ứng dụng Windows,... Mời các bạn cùng tham khảo.

Lập trình Windows Chương Lập trình C# Windows Nội dung • Windows Form 22 Lập trình C# Windows Khái niệm thông điệp (Message) • Là số nguyên quy ước trước Windows ứng dụng (Application) • Các liệu nhập (từ bàn phím, từ chuột, …) Windows chuyển thành message số thông tin kèm theo message • Ví dụ • 0x0001 WM_CREATE • 0x0002 WM_DESTROY • 0x0003 WM_MOVE • 0x0005 WM_SIZE • 0x0012 WM_QUIT Hàng đợi • System Queue • Windows chứa message hàng đợi gọi hàng đợi hệ thống • Application Queue • Các ứng dụng có hàng đợi riêng để chứa message ứng dụng gọi hàng đợi ứng dụng • Windows tự động phân bố message từ System Queue đến Application Queue Lập trình Windows Hệ điều hành Windows System Queue Hardware input Ứng dụng A Application Queue A Message loop Nhận xử lý Ứng dụng B Application Queue B Message loop Nhận xử lý Event-driven programming model • Message loop (vòng lặp thông điệp) • Mỗi Application thời điểm có message loop để lấy message Application Queue để phân bố cho cửa sổ (Window) Application • Hàm Window Procedure • Mỗi cửa sổ (Window) Application có hàm Window Procedure để xử lý message message loop nhận Event-driven programming model Message handlers WM_MOUSEMOVE WM_PAINT Messages Message queue Message loop Dispatched messages WM_KEYDOWN Retrieved messages Application OnKeyDown OnMouseMove OnPaint Window procedure Event-driven programming model • Ứng dụng phản ứng kiện (nhấn phím, click chuột, ) cách xử lý message Windows gởi đến • Một ứng dụng Windows điển hình thực lượng lớn xử lý để phản hồi message nhận Và message chờ message đến • Message queue: Các message chờ message queue chúng nhận để xử lý Event-driven programming model • Hàm Main: Tạo cửa sổ vào message loop • Message loop • Nhận message phân bố chúng đến Window Procedure cửa sổ • Message loop kết thúc nhận WM_QUIT (chọn Exit từ menu File, click lên close button) • Window Procedure: • Phần lớn đoạn mã đặt Window Procedure • Window Procedure xử lý message gởi đến cửa sổ • Window Procedure điển hình chứa câu lệnh switch lớn với case message riêng • Message handler: Code cung cấp để xử lý message cụ thể 10 Các dialog thông dụng: ColorDialog • ColorDialog dùng để chọn màu có máy 206 Các dialog thông dụng: ColorDialog • Properties • Color • AllowFullOpen: bool • FullOpen: bool • Methods • DialogResult ShowDialog() • void Reset() 207 Các dialog thông dụng: FolderBrowserDialog • FolderBrowserDialog dùng để chọn thư mục có máy 208 Các dialog thông dụng: FolderBrowserDialog • Properties • Description: string • RootFolder: Environment.SpecialFolder • SelectedPath: string • ShowNewFolderButton: bool • Methods • DialogResult ShowDialog() • void Reset() 209 MDI Tạo MDI • Tạo Form cha • IsMdiContainer = true • Tạo form • Tạo object form con: ChildFormName f = new ChildFormName() • f.MdiParent = this; • f.Show(); 211 Tìm form MDI • Tìm form active • this.ActiveMdiChild • Tìm form cha • this.MdiParent • Tìm form • this.MdiChildren 212 Đồng liệu • Chú ý: • Form cha lưu form • Mỗi form lưu form cha • Đồng liệu form • B1: Con gởi message nhờ form cha đồng liệu • B2: Form cha duyệt form để đồng liệu 213 Sắp xếp form • Tạo menu item chứa danh sách form • Tạo menu item • Thiết lập MdiWindowListItem menu container = menu item • Sắp xếp form • this.LayoutMdi(MdiLayout.ArrangeIcons); Cascade, TileHorizontal, TileVertical • Minimize form • Duyệt form con: this.MdiChildren • Thiết lập thuộc tính: WindowState = FormWindowState.Minimized 214 Đọc file liệu văn File văn • Namespace • System.IO • Class • StreamReader • StreamWriter 216 File văn • Đọc file văn • StreamReader sr = new StreamReader(path); • string data = sr.ReadLine(); •… • sr.Close(); • Một số lệnh hay dùng • sr.EndOfStream • string data = sr.ReadToEnd(); • int data = sr.Peek(); 217 File văn • Ghi file văn • StreamWriter sw = new StreamWriter(path); • sw.WriteLine(…); •… • sw.Close(); • Một số lệnh hay dùng • sw.Write(…); 218 Một số Bài tập lớn • Bài tập luyện tập: Mô chương trình sau • NotePad, WordPad • Calculator • Address Book • Duyệt file • Duyệt web • Paint • Chương trình xem ảnh • Từ điển Anh – Việt • Game Minesweeper 219 Q&A 220 220 ...Nội dung • Windows Form 22 Lập trình C# Windows Khái niệm thông điệp (Message) • Là số nguyên quy ước trước Windows ứng dụng (Application) • Các liệu nhập (từ bàn phím, từ chuột, …) Windows chuyển... chứa message ứng dụng gọi hàng đợi ứng dụng • Windows tự động phân bố message từ System Queue đến Application Queue Lập trình Windows Hệ điều hành Windows System Queue Hardware input Ứng dụng... ứng dụng Windows Forms từ đầu Các bước tạo ứng dụng Windows • Bước 1: • Thiết kế giao diện • Bước 2: • Xử lý message Windows gởi đến • Bước 3: • Xử lý nghiệp vụ 14 Các bước tạo ứng dụng Windows

Ngày đăng: 15/05/2017, 10:13

Từ khóa liên quan

Mục lục

  • Slide 1

  • Nội dung

  • Slide 3

  • Khái niệm thông điệp (Message)

  • Hàng đợi

  • Lập trình trên Windows

  • Event-driven programming model

  • Event-driven programming model

  • Event-driven programming model

  • Event-driven programming model

  • Event-driven programming model trong C#

  • Event-driven programming model trong C#

  • Slide 13

  • Các bước cơ bản tạo ứng dụng Windows

  • Các bước cơ bản tạo ứng dụng Windows

  • Các bước cơ bản tạo ứng dụng Windows

  • Các bước cơ bản để tạo ứng dụng Windows

  • Dùng Form, Không thừa kế

  • Dùng Form, Không thừa kế

  • Dùng Form, Không thừa kế

Tài liệu cùng người dùng

Tài liệu liên quan