Bài tập thực hành lập trình C for Windows
Yêu cầu: Tạo ứng dụng “Win32 Application” đơn giản bằng Wizard trong visual C++ 6.0
- Hướng dẫn gợi ý:
o Khởi động Visual C++ 6.0
o Dùng chức năng New Project đểtạo project mới
o Chọn loại project “Win32 Application”
o Chọn chức năng “A typical Hello World !”application
o Hoàn tất tạo project, biên dịch và chạy thửchương trình, xem kết quả
Ths Trần Ngọc Bảo 1/4 BÀI TẬP THỰC HÀNH LẬP TRÌNH C FOR WINDOWS 1. Phần 1: Làm quen với một chương trình Win API 1.1. Bài 01 – Chương trình minh họa đầu tiên - Yêu cầu: Tạo ứng dụng “Win32 Application” đơn giản bằng Wizard trong visual C++ 6.0 - Hướng dẫn gợi ý: o Khởi động Visual C++ 6.0 o Dùng chức năng New Project để tạo project mới o Chọn loại project “Win32 Application” o Chọn chức năng “A typical Hello World !” application o Hoàn tất tạo project, biên dịch và chạy thử chương trình, xem kết quả 1.2. Bài 02 – Chương trình minh họa đầu tiên (tt) - Yêu cầu: Sửa đổi chương trình trong bài 01 o Thay đổi tiêu đề của cửa sổ thành “Chương trình C/API” o Thay đổi nội dung hiển thị trên màn hình Client area thành “Day la chuong trinh minh hoa tao ung dung Windows trong visual C++ bang thu vien API Tac gia: Nguyen Van A…” - Hướng dẫn gợi ý: o Thay đổi tiêu đề của cửa sổ thành “Chương trình C/API” // Initialize global strings LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); strcpy(szTitle,"Chuong trinh C/API"); o Thay đổi nội dung hiển thị trên màn hình Client area thành GetClientRect(hWnd, &rt); strcpy(szHello,"Day la chuong trinh minh hoa tao ung dung Windows\n\r trong visual C++ bang thu vien API \n\rTac gia: Nguyen Van A"); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); o Biên dịch và chạy thử chương trình, xem kết quả BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP,HCM KHOA TOÁN – TIN HỌC Bài tập thực hành lập trình C for Windows Ths Trần Ngọc Bảo 2/4 1.3. Bài 03 - Tài nguyên của ứng dụng - Yêu cầu: Tạo ứng dụng tương tự bài tập 01 o Thay đổi biểu tượng (Icon) của chương trình o Thay đổi con trỏ chuột (Cursor) của chương trình o Thay đổi nội dung của hộp thoại (Dialog) “About” - Hướng dẫn gợi ý: o Thay đổi biểu tượng (Icon) của chương trình wcex.lpszClassName = szWindowClass; wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); Hoặc Thêm mới một ICON Sửa lệnh LoadIcon //wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_ICON1); o Thay đổi con trỏ chuột (Cursor) của chương trình //wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hCursor = LoadCursor(NULL,IDC_WAIT); Hoặc Thêm mới một CURSOR Sửa lệnh LoadCursor //wcex.hCursor = LoadCursor(NULL, IDC_ARROW); wcex.hCursor = LoadCursor(hInstance,(LPCTSTR)IDC_CURSOR1); o Thay đổi nội dung của hộp thoại (Dialog) “About” Chọn Tab ResourceView Click vào mục dialog Double click “IDD_ABOUTBOX” Sửa nội dung “Bai03 Version 1.0” thành “Bai tap 03 phien ban 1.0” o Biên dịch và chạy thử chương trình, xem kết quả 1.4. Bài 04 - Tài nguyên của ứng dụng (tt) - Yêu cầu: Tạo ứng dụng tương tự bài tập 01 o Bổ sung thêm vào menu “File” các mục sau: New, Open, Save o Thêm mới 1 menu popup “Edit” với các item sau: Undo, Redo, Cut, Copy, Paste, Delete Bài tập thực hành lập trình C for Windows Ths Trần Ngọc Bảo 3/4 o Mỗi menu item đều có phím tắt tương ứng - Hướng dẫn gợi ý: o Chọn Tab ResourceView o Click vào mục Menu o Double click “IDC_BAI04” o Bổ sung thêm vào menu “File” các mục sau: New, Open, Save o Thêm mới 1 menu popup “Edit” với các item sau: Undo, Redo, Cut, Copy, Paste, Delete 1.5. Bài 05 - lập trình sự kiện - Yêu cầu: Bổ sung bài tập 04 o Khi người dùng chọn menu item, hiển thị thông báo “Bạn vừa chọn chức năng xyz” o Khi thoát chương trình hiển thị thông báo hỏi “Bạn có muốn thoát khỏi chương trình không” ? - Hướng dẫn gợi ý: o Khi người dùng chọn menu item, hiển thị thông báo “Bạn vừa chọn chức năng xyz” Viết xử lý cho các menu item trong message WM_COMMAND trong hàm WndProc case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // Parse the menu selections: switch (wmId) { case IDM_ABOUT: DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); break; case IDM_OPEN: MessageBox(hWnd,"Ban dang chon chuc nang Open","Thong bao",MB_OK|MB_ICONEXCLAMATION); break; case IDM_NEW: MessageBox(hWnd,"Ban dang chon chuc nang NEW","Thong bao",MB_OK|MB_ICONEXCLAMATION); break;… } Bài tập thực hành lập trình C for Windows Ths Trần Ngọc Bảo 4/4 o Khi thoát chương trình hiển thị dialog hỏi “Bạn có muốn thoát khỏi chương trình không” ? Thay nội dung đoạn code xử lý “case IDM_EXIT:” trong hàm LRESULT CALLBACK WndProc /*case IDM_EXIT: DestroyWindow(hWnd); break; */ case IDM_EXIT: int nRes; nRes = MessageBox(hWnd,"Ban co muon thoat khong ?","Confirm",MB_OKCANCEL|MB_ICONQUESTION); if (nRes == IDOK) DestroyWindow(hWnd); break; 1.6. Bài 06 - Lập trình sự kiện (tt) - Yêu cầu: Bổ sung bài tập 05 o Khi người dùng click chuột trái, hiển thị thông báo “Bạn vừa nhan trai chuot, toa do X = , Y = ” o Khi người dùng click chuột phải, hiển thị thông báo “Bạn vừa nhan phai chuot, toa do X = , Y = ” - Hướng dẫn gợi ý: o Khi người dùng click chuột trái, hiển thị thông báo “Bạn vừa nhan trai chuot, toa do X = , Y = ” Xử lý sự kiện WM_LBUTTONDOWN X = LOWORD(lParam); Y = HIWORD(lParam); o Khi người dùng click chuột phải, hiển thị thông báo “Bạn vừa nhan phai chuot, toa do X = , Y = ” Xử lý sự kiện WM_RBUTTONDOWN X = LOWORD(lParam); Y = HIWORD(lParam);
File đính kèm:
- Bài tập thực hành lập trình C for Windows.pdf