Lập trình Windows Kỹ thuật lập trình Visual C++ -MFC- (phần 2)
Số trang: 10
Loại file: pdf
Dung lượng: 59.52 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
CWnd: lớp chính của MFC để quản lý các loại cửa sổ giao diện. Có nhiều lớp được kế thừa từ lớp này để quản lý các loại cửa sổ khác nhau (CTreeCtrl, CListBox, Cedit,…) CFrameWnd: lớp kế thừa từ lớp CWnd, để quản lý cửa sổ giao diện chính của ứng dụng Trong tài liệu này các bạn sê được làm quen với các lớp điển hình trên
Nội dung trích xuất từ tài liệu:
Lập trình Windows Kỹ thuật lập trình Visual C++ -MFC- (phần 2) Ứng dụng đơn giản – Các thành phần của c.trình…(tt) CWnd: lớp chính của MFC để quản lý các loại cửa® sổ giao diện. Có nhiều lớp được kế thừa từ lớp này để quản lý các loại cửa sổ khác nhau (CTreeCtrl, CListBox, Cedit,…) CFrameWnd: lớp kế thừa từ lớp CWnd, để quản lý® cửa sổ giao diện chính của ứng dụng CMainWindow: lớp kế thừa từ lớp CFrameWnd® class CMainWindow : public CFrameWnd { public: CMainWindow (); protected: afx_msg void OnPaint (); DECLARE_MESSAGE_MAP () };C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 21 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) CMainWindow(): hàm khởi tạo cửa sổ giao diện của® ứng dụng, override lên hàm chuẩn của lớp CFrameWnd CMainWindow::CMainWindow () { Create (NULL, _T (The Hello Application)); } OnPaint: hàm thành phần của lớp CMainWindow, được® gọi khi cần cập nhật nội dung cửa sổ. Hàm này được định nghĩa chồng lên hàm chuẩn của lớp CFrameWnd. void CMainWindow::OnPaint () { CPaintDC dc(this); CRect rect; GetClientRect (&rect); dc.DrawText (_T (Hello, MFC), -1, &rect, DT_SINGLELINE ¦ DT_CENTER ¦ DT_VCENTER); }C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 22 11 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) Message Map:® Làm sao để xử lý 1 message ? § MFC dùng Message Map để liên kết các § message với những hàm thành phần của lớp cửa sổ Mỗi message sẽ được xử lý bởi 1 hàm thành § phần tương ứng BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd) ON_WM_PAINT () END_MESSAGE_MAP () ON_WM_PAINT là 1 macro được định nghĩa § trong Afxmsg_.h, mặc nhiên liên kết message WM_PAINT với hàm OnPaintC4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 23 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) Xử lý thêm message WM_LBUTTONDOWN® Bổ sung thêm 1 hàm thành phần vào khai báo của lớp § CMainWindow: afx_msg void OnLButtonDown(UINT nFlags, CPoint point); Bổ sung thêm 1 macro vào khai báo Message Map: § ON_WM_LBUTTONDOWN () Định nghĩa hàm thành phần OnLButtonDown: § void CMainWindow::OnLButtonDown(UINT nFlags, CPoint point) { MessageBox(Left button clicked !, Mouse, MB_OK); }C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 24 12 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) Xử lý thêm message WM_MOUSELEAVE® Bổ sung thêm 1 hàm thành phần vào khai báo của lớp § CMainWindow: afx_msg LRESULT OnMouseLeave(); Bổ sung thêm 1 macro vào khai báo Message Map: § ON_MESSAGE (WM_MOUSELEAVE, OnMouseLeave) Định nghĩa hàm thành phần OnLButtonDown: § LRESULT CMainWindow::OnMouseLeave() { MessageBox(Mouse leaved !, Mouse, MB_OK); return 0; }C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 25 Chương trình MFC đầu tiên – Dialog-based App Tạo ứng dụng bằng cách sử dụng MFC® AppWizard Các thành phần của chương trình®C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 26 13 Dialog-based App - Tạo ứng dụng bằng MFC AppWizard Chọn menu File à New®® Chọn tab Projects® Chọn loại project “MFC AppWizard (exe)”® Đặt tên project và xác định đường dẫn thư mục trong ô “Location”® Step 1: Chọn loại ứng dụng “Dialog-based”® Step 2: Chỉ chọn option “3D controls”. Gõ tiêu đề của ứng dụng vào ô “Enter a title…”® Step 3: chọn theo chế độ mặc định® Nhấn Finish để kết thúcC4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 27Dialog-based App - T ạo ứng dụng bằng MFC AppWizard…(tt) Ứng dụng MFC (Dialog-based)C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 28 14 Dialog-based App - Các thành phần của chương trình Các file chương trình: (xxx là tên project)® xxx.h: header file của file xxx.cpp, chứa khai báo lớp § CxxxApp ...
Nội dung trích xuất từ tài liệu:
Lập trình Windows Kỹ thuật lập trình Visual C++ -MFC- (phần 2) Ứng dụng đơn giản – Các thành phần của c.trình…(tt) CWnd: lớp chính của MFC để quản lý các loại cửa® sổ giao diện. Có nhiều lớp được kế thừa từ lớp này để quản lý các loại cửa sổ khác nhau (CTreeCtrl, CListBox, Cedit,…) CFrameWnd: lớp kế thừa từ lớp CWnd, để quản lý® cửa sổ giao diện chính của ứng dụng CMainWindow: lớp kế thừa từ lớp CFrameWnd® class CMainWindow : public CFrameWnd { public: CMainWindow (); protected: afx_msg void OnPaint (); DECLARE_MESSAGE_MAP () };C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 21 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) CMainWindow(): hàm khởi tạo cửa sổ giao diện của® ứng dụng, override lên hàm chuẩn của lớp CFrameWnd CMainWindow::CMainWindow () { Create (NULL, _T (The Hello Application)); } OnPaint: hàm thành phần của lớp CMainWindow, được® gọi khi cần cập nhật nội dung cửa sổ. Hàm này được định nghĩa chồng lên hàm chuẩn của lớp CFrameWnd. void CMainWindow::OnPaint () { CPaintDC dc(this); CRect rect; GetClientRect (&rect); dc.DrawText (_T (Hello, MFC), -1, &rect, DT_SINGLELINE ¦ DT_CENTER ¦ DT_VCENTER); }C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 22 11 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) Message Map:® Làm sao để xử lý 1 message ? § MFC dùng Message Map để liên kết các § message với những hàm thành phần của lớp cửa sổ Mỗi message sẽ được xử lý bởi 1 hàm thành § phần tương ứng BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd) ON_WM_PAINT () END_MESSAGE_MAP () ON_WM_PAINT là 1 macro được định nghĩa § trong Afxmsg_.h, mặc nhiên liên kết message WM_PAINT với hàm OnPaintC4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 23 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) Xử lý thêm message WM_LBUTTONDOWN® Bổ sung thêm 1 hàm thành phần vào khai báo của lớp § CMainWindow: afx_msg void OnLButtonDown(UINT nFlags, CPoint point); Bổ sung thêm 1 macro vào khai báo Message Map: § ON_WM_LBUTTONDOWN () Định nghĩa hàm thành phần OnLButtonDown: § void CMainWindow::OnLButtonDown(UINT nFlags, CPoint point) { MessageBox(Left button clicked !, Mouse, MB_OK); }C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 24 12 Ứng dụng đơn giản – Các thành phần của c.trình…(tt) Xử lý thêm message WM_MOUSELEAVE® Bổ sung thêm 1 hàm thành phần vào khai báo của lớp § CMainWindow: afx_msg LRESULT OnMouseLeave(); Bổ sung thêm 1 macro vào khai báo Message Map: § ON_MESSAGE (WM_MOUSELEAVE, OnMouseLeave) Định nghĩa hàm thành phần OnLButtonDown: § LRESULT CMainWindow::OnMouseLeave() { MessageBox(Mouse leaved !, Mouse, MB_OK); return 0; }C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 25 Chương trình MFC đầu tiên – Dialog-based App Tạo ứng dụng bằng cách sử dụng MFC® AppWizard Các thành phần của chương trình®C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 26 13 Dialog-based App - Tạo ứng dụng bằng MFC AppWizard Chọn menu File à New®® Chọn tab Projects® Chọn loại project “MFC AppWizard (exe)”® Đặt tên project và xác định đường dẫn thư mục trong ô “Location”® Step 1: Chọn loại ứng dụng “Dialog-based”® Step 2: Chỉ chọn option “3D controls”. Gõ tiêu đề của ứng dụng vào ô “Enter a title…”® Step 3: chọn theo chế độ mặc định® Nhấn Finish để kết thúcC4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 27Dialog-based App - T ạo ứng dụng bằng MFC AppWizard…(tt) Ứng dụng MFC (Dialog-based)C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 28 14 Dialog-based App - Các thành phần của chương trình Các file chương trình: (xxx là tên project)® xxx.h: header file của file xxx.cpp, chứa khai báo lớp § CxxxApp ...
Tìm kiếm theo từ khóa liên quan:
kĩ thuật lập trình C giáo trình lập trình C mẹo lập trình C lập trình với MFC thủ thuật lập trìnhTài liệu cùng danh mục:
-
Tìm hiểu về lỗi tràn bộ đệm (Buffer Overflow)
5 trang 364 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 345 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 7 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
16 trang 335 0 0 -
180 trang 274 0 0
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 253 0 0 -
173 trang 248 2 0
-
Bài giảng Phân tích thiết kế và giải thuật - Chương 2: Kỹ thuật thiết kế giải thuật
80 trang 245 0 0 -
Kiến thức phần cứng máy tính - Sửa chữa nâng cấp và cài đặt máy tính xách tay Tập 2
483 trang 243 3 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 243 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 6 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
12 trang 240 0 0
Tài liệu mới:
-
114 trang 0 0 0
-
121 trang 0 0 0
-
Luận văn Thạc sĩ Kiến trúc: Chất hài trong kiến trúc của Renzo Piano
124 trang 0 0 0 -
157 trang 0 0 0
-
179 trang 0 0 0
-
9 trang 0 0 0
-
7 trang 0 0 0
-
85 trang 0 0 0
-
97 trang 0 0 0
-
Luận văn Thạc sĩ Quản lý kinh tế: Quản lý sử dụng vốn ODA của chính quyền tỉnh Lào Cai
108 trang 0 0 0