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

Giáo án - Bài giảng: BÀI TẬP MÔN LẬP TRÌNH WINDOWS

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 (3.22 MB, 86 trang )

TH Lập trình Windows Chương 1-2
Baøi taäp chương 1

1. Viết chương trình hiển thị màn hình như sau:


Hướng dẫn:


1/9
TH Lập trình Windows Chương 1-2


2/9
TH Lập trình Windows Chương 1-2


3/9
TH Lập trình Windows Chương 1-2



4/9
TH Lập trình Windows Chương 1-2



2. Từ chương trình câu 1, thay đổi một số thuộc tính của cửa sổ lần lượt như sau:









5/9
TH Lập trình Windows Chương 1-2


-
3. Lần lượt thay đổi trạng thái cửa sổ như sau:
• Nằm ở giữa màn hình, kích thước 640x480
• Luôn nằm trên các cửa sổ khác .
• Không thể thay đổi kích thước
• Cửa sổ phóng to đầy màn hình

Gợi ý: sử dụng các hàm thuộc lớp CWnd: Create, ShowWindow, SetWindowPos


Baøi taäp chương 2

1. Bài 1



6/9
TH Lập trình Windows Chương 1-2
Gợi ý:
- Sử dụng hàm GetClientRect để lấy kích thước vùng Client
- Chia vùng Client thành 4 phần bằng nhau, mỗi phần là một hình chữ nhật

- Sử dụng các đối tượng CPen, CBrush và các hàm Ellipse, Chord, Pie, RoundRect,
SetTextColor, SetBkMode, DrawText

Ví dụ: hàm vẽ Ellipse:
7/9
TH Lập trình Windows Chương 1-2

2. Bài 2

Gợi ý:
- Tính kích thước bitmap, mỗi ảnh sau có kích thước gấp 2 lần ảnh trước
- Sử dụng hàm BitBlt và StretchBlt.

8/9
TH Lập trình Windows Chương 1-2

3. Bài 3




9/9
TH Lập trình Windows Chương 3
Baøi taäp chương 3

1. Dùng MFC AppWizard xây dựng ứng dụng sau:
Chuỗi Hello!MFC có thể chuyển động theo các phương:
- Sang trái : khi nhấn phím ←
- Sang phải: khi nhấn phím →
- Đi lên: khi nhấn phím ↑

- Đi xuống: khi nhấn phím ↓
- Phím S: Start – Stop chuyển động



Gợi ý:
- Sử dụng MDC và các hàm LoadBitmap, StretchBlt để load ảnh nền.
- Tạo font chữ, sử dụng các hàm SetTextColor, DrawText để xuất chuỗi
Hello!MFC
- Chuỗi Hello!MFC nằm trong một frame hình chữ nhật (CRect). Để thay đổi vị trí
chuỗi, chỉ cần di chuyển frame. Chú ý: Để tính toán kích thước frame trên, sử
dụng hàm GetTextMetrics kết hợp với độ dài chuỗi.
- Khai báo hàm xử lý sự kiện WM_TIMER. Trong hàm OnTimer, cập nhật lại vị trí
frame tuỳ theo chiều di chuyể
n đang được chọn
- Khai báo hàm xử lý sự kiện WM_KEYDOWN. Trong hàm OnKeyDown, cập
nhật lại chiều chuyển động dựa vào giá trị các phím được nhấn
1/7
TH Lập trình Windows Chương 3
Ví dụ:
- Khai báo các biến thuộc lớp CChildView:



- Tạo MDC:

- Load ảnh nền:

- Tính kích thước và vị trí frame chứa chuỗi Hello!MFC:



2/7
TH Lập trình Windows Chương 3

- Xử lý sự kiện nhấn phím:


- Xử lý sự kiện WM_TIMER:

3/7
TH Lập trình Windows Chương 3



2. Dùng MFC AppWizard xây dựng ứng dụng vẽ tự do như sau:


Yêu cầu:
- Giữ chuột trái rê vẽ tự do
- Khi nhấn một trong các phím:
o ‘R’, ‘G’, ‘B’: nét vẽ chuyển sang màu tượng ứng (Red, Green, Blue)
o Phím ‘A’, ‘C’: thay đổi con trỏ chuột (tùy ý), phím ‘E’: về dạng mặc định
o Phím ↑, ↓: thay đổi độ dày nét vẽ ( 1 ≤ nét vẽ ≤ 20)
o Phím Delete: xóa màn hình
- Khi click chuột trên thanh tiêu đề: thay đổi tiêu đề cửa sổ

Gợi ý:
- Để thực hiện được thao tác vẽ, sử dụng các hàm xử lý sự kiện nhấn chuột
(WM_LBUTTONDOWN) để bắt đầu chọn vị trí vẽ và di chuyển chuột
(WM_MOUSEMOVE ) thực hiện thao tác vẽ.

4/7
TH Lập trình Windows Chương 3
- Thay đổi con trỏ chuột và độ dày nét vẽ thực hiện trong hàm OnKeyDown
- Để thay đổi tiêu đề khi click trên thanh tiêu đề cửa sổ, xử lý sự kiện
WM_NCLBUTTONDOWN của lớp CmainFrame

Ví dụ:

Trong lớp CChildView, khai báo các biến, các hàm và viết code cho các hàm:

// CChildView.h




//Hàm thay đổi con trỏ chuột


//Nhấn nút trái chuột

//Di chuyển chuột

5/7
TH Lập trình Windows Chương 3
//Nhấn phím






//Thay đổi con trỏ chuột



6/7
TH Lập trình Windows Chương 3
//Nhấn nút trái chuột ngoài vùng client


7/7
TH Lập trình Windows Chương 4
Bài tập chương 4

Dùng MFC AppWizard xây dựng ứng dụng vẽ các đoạn thẳng như sau:



Yêu cầu: Dùng chuột rê vẽ các đoạn thẳng, cho phép lưu vào file có tên Lines.dat
- Chúc năng bàn phím:
 Thay đổi màu vẽ:
Phím R: đỏ
Phím G: màu xanh lá
Phím B: màu xanh dương
 Lưu vào file: phím S
 Load từ file: phím L
 Xoá màn hình: phím C
Gợi ý:
 Xây dựng lớp CLine kế thừ từ CObject:






1/2
TH Lập trình Windows Chương 4
 Định nghĩa hàm Serialize:



 Trong lớp CChildView , khai báo danh sách các đối tượng CLine:

CArray <CLine*,CLine*> m_arrLines;

 Để vẽ một đoạn thẳng, sử dụng các hàm xử lý sự kiện:
- Nhấn chuột (WM_LBUTTONDOWN): xác định hai điểm của đoạn thẳng,
đưa đoạn thẳng vào danh sách m_arrLines.
- Di chuyển chuột (WM_MOUSEMOVE ): cập nhật vị trí điểm thứ hai của
đoạn thẳng và thực hiện thao tác vẽ.
- Nh
ả chuột (WM_LBUTTONUP): kết thúc thao tác vẽ đoạn thẳng.
 Để lưu và load danh sách các đoạn thẳng đã vẽ, trong lớp CChildView, khai báo
và định nghĩa hàm Serialize:





2/2
THỰC HÀNH BÀI DRAWS
PHẦN I:

1) Tạo ứng dụng SDI:




2) Tạo class CShape

×