Bài tập thực hành môn lập trình window PI © 2009, Nguyen Tri Tuan – Khoa CNTT ĐH.KHTN. TP.H
CM 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 -
. 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ư. 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.