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

Bài tập thực hành môn lập trình window PI

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 (30.6 KB, 2 trang )

© 2009, Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 1/2
Môn học Lập trình Windows (Windows Programming)
Bài tập thực hành – Phần 1
Thời gian thực hiện: 01 tuần
---oOo---

Phần 1: Lập trình bằng thư viện WIN32 API

1. Làm quen với 1 chương trình C/C++ viết trên thư viện Win32 API
a. Phần 1:
- Tạo project loại Win32 (Win32 project), sau đó biên dịch và chạy thử nghiệm
chương trình
b. Phần 2:
- Thay đổi tiêu đề của của sổ thành “Chuong trinh C/Win32 API”
- Thay đổi nội dung hiển thị trên vùng client của cửa sổ thành:
“Day la chuong trinh dau tien…
… viet bang Visual C++…
… tren HDH Windows…
… bang thu vien Win32 API.“

2. Tài nguyên của chương trình:
Lấy chương trình kết quả của bài tập 1, thực hiện tiếp:
a. Phần 1:
- Thay đổi biểu tượng (icon) của chương trình
- Thay đổi con trỏ chuột: dùng con trỏ có sẵn IDC_CROSS hay tự vẽ một cursor mới.
- Thay đổi nội dung của hộp thoại “About”
b. Phần 2:
- Bổ sung thêm vào menu “File” các mục sau: New, Open, Save
- Thêm mới 1 menu popup “Edit” với các item sau: Undo, Cut, Copy, Paste, Select all
- Mỗi menu item đều có phím tắt tương ứng (vd. Open  Ctrl+O)


3. Lập trình sự kiện:
Lấy chương trình kết quả của bài tập 2, thực hiện tiếp:
a. Phần 1:
- Thêm xử lý trong hàm xử lý message, để khi user chọn menu item nào thì hiện
messagebox thông báo tương ứng. VD. “Ban vua chon chuc nang XYZ.”
- Khi user thoát chương trình bằng menu “Quit” hay close cửa sổ: hiển thị message-
box yêu cầu xác nhận “Ban muon thoat ung dung ?”. Nếu user chọn YES  huỷ
cửa sổ và thoát ứng dụng; nếu user chọn NO thì không thoát.
b. Phần 2:
- Khi user click mouse trái/phải, hiển thị message-box thông báo:

c. Phần 3:
- Khi cửa sổ được tạo (WM_CREATE), hãy thể hiện 1 message-box ghi lời giới
thiệu chương trình:
© 2009, Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.HCM 2/2


4. Chương trình “Clock” - Sử dụng bộ định giờ (Timer)
a. Phần 1:
- Viết chương trình có 1 cửa sổ giao diện, kích thước 300x100 pixel, không menu,
chỉ có Close button (hình vẽ)
b. Phần 2:
- Định nghĩa 1 bộ định giờ, với chu kỳ 1 giây (dùng hàm SetTimer)
- Ứng với thông điệp WM_TIMER, hiển thị giờ hiện tại lên cửa sổ giao diện (hình vẽ)
- Khi kết thúc chương trình (Close window), huỷ bộ định giờ (dùng hàm KillTimer)
Ghi chú:
- Dùng font Arial, size = 28 (tạo handle font
bằng hàm CreateFont hay
CreateFontIndirect).





5. Window class (lớp cửa sổ)
Viết một chương trình theo các yêu cầu sau:
- Chương trình đăng ký 3 lớp cửa sổ (hàm RegisterClass) với 3 hàm xử lý message
tương ứng.
- Mô tả các hàm xử lý message:
o Với cửa sổ thuộc class-1: nếu user click mouse trái  vẽ một đường tròn
bán kính 100 pixel, tâm là điểm click mouse (hàm Ellipse)
o Với cửa sổ thuộc class-2: nếu user click mouse trái  vẽ một hình vuông,
cạnh 100 pixel, tâm là điểm click mouse (hàm Rectangle)
o Với cửa sổ thuộc class-3: nếu user click mouse trái  vẽ một hình vuông,
cạnh 200 pixel, tâm là điểm click mouse, tô màu cam (Red=255,
Green=128, Blue=64) (tạo brush handle dùng hàm CreateSolidBrush)
- Ứng dụng có 3 menu item: “Class-1”, “Class-2” và “Class-3”. Khi user chọn một
menu item, thì ứng dụng tạo ra một cửa sổ thuộc lớp tương ứng. Tiêu đề cửa sổ có
dạng “Class X – Window Y”, trong đó:
o X = 1, 2 hay 3
o Y: số thứ tự của cửa sổ thuộc class X

- Hết phần 1 -

×