Lập trình C Windows 15_VisualC (MFC)

36 427 5
Lập trình C  Windows 15_VisualC (MFC)

Đ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

Lập trình C Windows

Lập trình C Windows Kỹ thuật lập trình Visual C++ (MFC) Nguyễn Tri Tuấn Khoa CNTT – ĐH.KHTN.Tp.HCM Email: nttuan@ fit.hcmuns.edu.vn Nội dung Giới thiệu MFC Chương trình MFC Xử lý Mouse Keyboard Xử lý menu Toolbar, Statusbar Các Control Xây dựng xử lý hộp thoại (Dialog box) Documents Views: Scroll view, List view, Tree view  SDI – Single Document Interface  MDI - Multi Document Interface         C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC  MFC ?  Một số tính MFC qua version  Các thành phần ứng dụng VC++  Các hình giao diện VC++ C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC – MFC ?       Microsoft Foundation Class Là thư viện lớp (class, OOP) ngôn ngữ Visual C++, dùng cho việc lập trình Windows Được xây dựng sở hàm thư viện API Windows Version có khoảng 200 class Giúp cho người lập trình xây dựng ứng dụng nhanh tốn cơng sức so với việc sử dụng đơn hàm thư viện API Windows Ta gọi hàm Windows API MFC C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC – MFC ?…(tt) Trong ứng dụng MFC, ta thường không gọi hàm Windows API trực tiếp, mà tạo object từ lớp MFC, gọi phương thức object  Đa số phương thức MFC class có tên với hàm Windows API  MFC tạo Application Framework, giúp:  ƒ ƒ Thiết lập kiến trúc ứng dụng cách quán khoa học Che dấu nhiều phần chi tiết mà Windows API đòi hỏi, giúp developer “thảnh thơi” C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC - Một số tính MFC  Version 1: ƒ ƒ ƒ  Các lớp List, Array, String, Time, Date, File access,… Các lớp giao diện MDI, OLE 1.0 Version 2: ƒ ƒ ƒ ƒ ƒ ƒ ƒ File open, save Print preview, printing Scrolling window, Splitter window Toolbar, Statusbar Truy xuất đến control VB Trợ giúp theo ngữ cảnh (Context-sensitive help) DLL C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC - Một số tính MFC…(tt)  Version 2.5: ƒ ƒ  Version 3: ƒ ƒ  Hỗ trợ ODBC (Open Database Connectivity), cho phép truy xuất đến CSDL Access, FoxPro, SQL Server,… OLE 2.01 Hỗ trợ tab dialog (property sheet) Docking control bar Version 3.1: ƒ ƒ ƒ Hỗ trợ control chuẩn Windows 95 ODBC level with Access Jet database engine Các lớp Winsock phục vụ lập trình TCP/IP C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC - Một số tính MFC…(tt)  Version 4.0: ƒ ƒ ƒ ƒ  ADO (Data Access Object) Windows 95 docking control bar Bổ sung thêm lớp TreeView RichEdit Các lớp đồng hoá tiểu trình Version 4.2: ƒ ƒ ƒ ƒ Các lớp WinInet Các lớp ActiveX document server Các tính mở rộng ActiveX control Tăng cường số khả ODBC C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC - Một số tính MFC…(tt)  Version 6: ƒ ƒ ƒ ƒ Hỗ trợ lớp cho control chuẩn IE 4.0 Hỗ trợ Dynamic HTML, cho phép tạo lập động trang HTML Active Document Containment, cho phép ứng dụng MFC chứa Active Document OLE DB ADO C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC - Các thành phần ứng dụng Sơ đồ biên dịch thành phần ứng dụng VC++ C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 10 Giới thiệu MFC - Các hình giao diện Các thành phần giao diện VC++ C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 11 Giới thiệu MFC - Các hình giao diện chính…(tt) Các thành phần giao diện VC++ (run-time) C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 12 Chương trình MFC  Ứng dụng đơn giản dùng Application Framework  Ứng dụng phức tạp (Dialog-based App) C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 13 Chương trình MFC - Ứng dụng đơn giản  Tạo ứng dụng  Các thành phần chương trình C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 14 Ứng dụng đơn giản - Tạo ứng dụng         Chọn menu File Ỉ New Chọn tab Projects Chọn loại project “Win32 Application” Đặt tên project xác định đường dẫn thư mục ô “Location” Step 1: Chọn loại ứng dụng “An empty project” Nhấn Finish để kết thúc Add file Hello.h Hello.cpp vào project Chọn menu Project Ỉ Settings ƒ Chọn project cửa sổ bên trái ƒ Chọn tab General ƒ Chọn “Use MFC In A Shared DLL” C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 15 Ứng dụng đơn giản - Tạo ứng dụng…(tt) Hello.h class CMyApp : public CWinApp { public: virtual BOOL InitInstance (); }; 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 16 Ứng dụng đơn giản - Tạo ứng dụng…(tt) Hello.cpp #include #include "Hello.h" CMyApp myApp; ///////////////////////////////////////////////////////////////////////// // CMyApp member functions BOOL CMyApp::InitInstance () { m_pMainWnd = new CMainWindow; m_pMainWnd->ShowWindow (m_nCmdShow); m_pMainWnd->UpdateWindow (); return TRUE; } ///////////////////////////////////////////////////////////////////////// // CMainWindow message map and member functions BEGIN_MESSAGE_MAP (CMainWindow, CFrameWnd) ON_WM_PAINT () END_MESSAGE_MAP () C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 17 Ứng dụng đơn giản - Tạo ứng dụng…(tt) Hello.cpp…(tt) CMainWindow::CMainWindow () { Create (NULL, _T ("The Hello Application")); } 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 18 Ứng dụng đơn giản - Tạo ứng dụng…(tt) Ứng dụng MFC đơn giản C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 19 Ứng dụng đơn giản – Các thành phần c.trình   CWinApp: lớp MFC để quản lý ứng dụng Chứa đựng vòng lặp nhận message phân phối message đến cửa sổ ứng dụng CMyApp: lớp kế thừa từ lớp CWinApp class CMyApp : public CWinApp { public: virtual BOOL InitInstance (); };  InitInstance(): hàm khởi tạo ứng dụng, override lên hàm chuẩn lớp CWinApp BOOL CMyApp::InitInstance () { m_pMainWnd = new CMainWindow; m_pMainWnd->ShowWindow (m_nCmdShow); m_pMainWnd->UpdateWindow (); return TRUE; } C4W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 20 10 ... sheet) Docking control bar Version 3.1: ƒ ƒ ƒ Hỗ trợ control chuẩn Windows 95 ODBC level with Access Jet database engine C? ?c lớp Winsock ph? ?c vụ lập trình TCP/IP C4 W - VisualC++ (MFC) - Nguyen... ƒ C? ?c lớp WinInet C? ?c lớp ActiveX document server C? ?c tính mở rộng ActiveX control Tăng c? ?ờng số khả ODBC C4 W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM Spring 2004 Giới thiệu MFC -... c? ??n c? ??p nhật nội dung c? ??a sổ Hàm định nghĩa chồng lên hàm chuẩn lớp CFrameWnd void CMainWindow::OnPaint () { CPaintDC dc(this); CRect rect; GetClientRect (&rect); dc.DrawText (_T ("Hello, MFC"),

Ngày đăng: 14/11/2012, 17:00

Từ khóa liên quan

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

Tài liệu liên quan