Tài liệu này dành cho sinh viên, giáo viên khối ngành công nghệ thông tin tham khảo và có những bài học bổ ích hơn, bổ trợ cho việc tìm kiếm tài liệu, giáo án, giáo trình, bài giảng các môn học khối ngành công nghệ thông tin
9/13/2011 1 ክኧ0ኈኞኤ ኛWኛWኘW ዌ ዛ ዒ môn ዣ ኼ Máy tính hungpn@soict.hut.edu.vn ϯ@WINDOWS 9/13/2011 2 Н trình Windows Mã ዎ: IT4781 ዕ ዛዘ: 2 (2-1-0-4) ± Lý ዅ: 30 ዅ ± Bài ኼ: 15 ዅ ዌ ኹ tiên ዅ: ± Ngôn ዟ ኼ trình C, C++ ± ኼ¿ዛዔ¯ዎዛዘ 2 ኼ¿ 9/13/2011 3 г dung ዛዓ 1. ዐ quan ኼ trình Windows (4LT + 1BT) ዛዓ 2. ኼ trình Windows VC++/MFC (15LT + 6BT) ዛዓ͵Ǥዒ ዎ ዚ ¯ nâng cao ± ዛ ዉ liên ዅ ¯ዒ (DLL) (3LT + 2BT) ± ዏ (Thread) (3LT + 2BT) ± Windows Socket (2LT + 2BT) ዛዓ4. ዠዜዙȋ͵ + 2BT) Bài ኼ ዔ 3 ኼ¿ 9/13/2011 4 Tài Ъ tham И 1. Ivor ǯǡΪΪʹͲͳͲ 2. Programming Windows with MFC 2 nd 2. VC++ and MFC Programming 2 nd 3. Sams teach yourself VC++ 6 in 21 days 4. MSDN 5. http://www.functionx.com/visualc/ 4 ኼ¿ 9/13/2011 5 мд 1. б quan Н trình Windows 1.1. ዓ ኼ trình Windows (1T) 1.2. ኸ trúc ዚ ዛዓ trình Windows (2T) 1.3. Microsoft Foundation Classes (MFC) 1.4. ኼ trình Windows ዔ VC++ 2008 (1LT + 1BT) 5 ኼ¿ 9/13/2011 6 1.1. д И Ч Н trình Windows Windows: ¯ዏ ዌ ዠ quan, tài nguyên ¯ . ኮ ዙ thân ዉ ዔ ዛዕ ዞ ዙ thông qua giao ዉ ¯ዏ ዌ Windows. Các ዜ ዙ có giao ዉ ዛዓ tác ዎ nhau: ± Windows, title bar, toolbar, menu bar, status bar ± Thanh ዠ ¯ዓ: File, Edit, Tool, Helpǥ ± ዒ : ዛዕ ዜ các ¯ chung: Edit Control, Button Control, CheckboxǥǤ 6 ኼ¿ 9/13/2011 7 Các thành К л г п б 7 ኼ¿ 9/13/2011 8 дЦН¿-driven 8 ኼ¿ 9/13/2011 9 دЪȋȌ ዉ ዎ (Windows) ghi ዑ ዠ ዉ ra (event) trong ዒ thông ¯ዉ (message) và ¯ trong hàng ¯ዘ thông ¯ዉ (messages queue) Thông ¯ዉ phát sinh: ± ዝ ዉ ዎ (Windows OS) ± ዝ ዜ ዙ Ví ዙ: click/drag ዒ, ኸ phím, minimize/maximize/close ዞ ዐ, thay ¯ዐ kích ዛዔ ዞ ዐǡǥ 9 ኼ¿ 9/13/2011 10 Windows Message (cont.) 0¯ዉ ዉ ኸ các دዉዚ ዜ ዙ vào các ዞ ዐ khác nhau ዚ ዜ ዙ ¯×. ዒ ዛዓ trình Windows ዜ ዒ hàm ¯ ዉ ¯ ዞ lý các thông ¯ዉ ዌ là hàm ዞ lý ዞ ዐ WinProc ( WindowProc): ± 0ዛዘ ዌ khi có ኸ ü thông ¯ዉ ¯ዛዘ ¯ዅ ዞ ዐ (thông qua con ው hàm) ± ዞ lý các thông ¯ዉ ¯× và ¯ cho ዉ ዎ. thông ¯ዉ cho Windows ዞ lý, ዌ hàm DefWindowProc( ) 10 ኼ¿ [...]... vào tên hàm ra cho compiler hàm này có cách cho nào 18 18 9/13/2011 1.2 trúc trình Windows 19 19 9/13/2011 1.2 trúc trình Windows trình Windows (dùng hàm API) 2 hàm WinMain() và hàm lý WinProc() WinMain() các : Tell Windows what kind of window the program requires Create the program window Initialize the program window Retrieve Windows messages intended for the program WinProc(): nó lý các thông liên...9/13/2011 Windows Message (cont.) 11 11 9/13/2011 Windows API Application Programming Interface: Giao trình Cung các hàm truy tài nguyên trong (Windows) trong các liên DLL Các có truy các hàm API Các hàm GDI (Graphics Device Interface) cho phép làm 12 12 9/13/2011 Windows Data Types (1) khóa typedef trong các tin (windef.h; winbase.h, winuser.h include trong windows. h) Ví : typedef int... WinProc hàm lý thông nó (Windows) , toàn các lý qua hàm này sau: LRESULT CALLBACK WinProc (HWND, UINT, WPARAM, LPARAM); Trong tham tiên là danh , tham 2 là danh thông , và cùng là 2 tham WPARAM và LPARAM sung thông tin kèm theo thông 29 29 9/13/2011 Message Loop Windows duy trì hàng thông cho trình Khi thông tin , Windows thành thông và vào hàng thông thông hàng mã: MSG msg; // Windows message structure... Không có menu hInstance, // danh ng NULL); // Tham sung /* c */ ShowWindow (hwnd, iCmdShow); UpdateWindow (hwnd); /* Chu trình x lý các thông */ while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg); DispatchMessage (&msg); } return msg.wParam; (cont.) 23 } 23 9/13/2011 WNDCLASS Windows cung winuser.h) là này các trúc WNDCLASS (file tính thành typedef struct _WNDCLASS { UINT style; WNDPROC lpfnWndProc;... winbase.h, winuser.h include trong windows. h) Ví : typedef int INT; typedef unsigned int UINT; char * PSTR WPARAM (UINT) và LPARAM (LONG) 32 bit LRESULT: LONG HANDLE: menu, hPrevInstance 13 13 9/13/2011 Windows Data Types (2) HANDLE HWND BYTE WORD DWORD UINT LONG BOOL LPSTR LPCSTR WPARAM LPARAM BSTR LPVOID LPTSTR LPCTSTR - -bit long 32-bit logic True/False (char *) 32-bit 32-bit - LPSTR DBCS LPCTSTR... program window Initialize the program window Retrieve Windows messages intended for the program WinProc(): nó lý các thông liên quan 20 20 9/13/2011 1.2.1 Hàm WinMain() Hàm chính Program entry point trên Windows int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) hInstance, is a handle to the instance of the program you are writing hPrevInstance, is used if your . 1. б quan Н trình Windows 1.1. ዓ ኼ trình Windows (1T) 1.2. ኸ trúc ዚ ዛዓ trình Windows (2T) 1.3. Microsoft Foundation Classes (MFC) 1.4. ኼ trình Windows ዔ VC++. nào. 18 ኼ¿ 9/13/2011 19 1.2. Й trúc л мд trình Windows 19 ኼ¿ 9/13/2011 20 1.2. Й trúc л мд trình Windows ዛዓ trình Windows ¯ዓ (dùng hàm API) ዏ 2 hàm WinMain(). tính hungpn@soict.hut.edu.vn ϯ@ WINDOWS 9/13/2011 2 Н trình Windows Mã ዎ: IT4781 ዕ ዛዘ: 2 (2-1-0-4) ± Lý ዅ: 30 ዅ ± Bài ኼ: 15 ዅ ዌ ኹ tiên ዅ: ± Ngôn ዟ ኼ trình C, C++ ± ኼ¿ዛዔ¯ዎዛዘ 2 ኼ¿ 9/13/2011 3 г