Tải bản đầy đủ (.pdf) (4 trang)

Lập trình C - Phần 1: Làm quen với một chương trình Win API pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (236.59 KB, 4 trang )

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);

×