GV: Nguyễn Thị Mai Trang 1
Lập trình Windows - Chương 1
Tổng quan về Lập
trình Windows và
thư viện MFC
GV: Nguyễn Thị Mai Trang 2
Mục tiêu
Giới thiệu tổng quan về lập trình Windows
Giới thiệu thư viện lập trình MFC và môi
trường Visual C++
Qua chương này, sinh viên có thể hiểu và
vận dụng các lớp trong thư viện MFC để
viết chương trình ở mức tạo một ứng dụng
đơn giản nhất.
GV: Nguyễn Thị Mai Trang 3
Nội dung
Tổng quan về Lập trình Windows
Thư viện lập trình MFC
Làm quen với Visual C++ 6.0
GV: Nguyễn Thị Mai Trang 4
Bài 1: Tổng quan về Lập trình Windows
Giao diện người dùng kiểu đồ họa:
– Các ứng dụng Windows có giao diện thống
nhất
• Cửa sổ hình chữ nhật
• Thanh tiêu đề
• Thanh thực đơn (menu)
• Thanh công cụ (Toolbar)
• Thanh cuộn (Scrollbar)
• Hộp hội thoại (Dialog)
– Thông điệp được truyền qua lại giữa những ứng dụng
và cửa sổ, giữa các ứng dụng với nhau.
– Cửa sổ ứng dụng được tự động vẽ lại mỗi khi có sự
thay đổi về kích thước. Điều này được thực hiện nhờ
hệ điều hành gởi thông điệp cho chương trình.
GV: Nguyễn Thị Mai Trang 8
Bài 1: Tổng quan về Lập trình Windows
Tài nguyên:
– Biểu tượng (icons).
– Con trỏ (cursors).
– Hình ảnh (Bitmaps).
– Bảng các chuỗi hằng (string tables).
– Bảng phím tắt (Accelerator).
– Hộp hội thoại (Dialog)
– Thanh thực đơn (menu)
– Thanh công cụ (toolbar)
– Siêu văn bản (HTML).
GV: Nguyễn Thị Mai Trang 9
Bài 1: Tổng quan về Lập trình Windows
Tài nguyên (tt)
– Tài nguyên được Windows cung cấp sẵn (tài
nguyên chuẩn).
– Tài nguyên do người sử dụng tạo thông qua
một tập tin tài nguyên có phần mở rộng là .rc
(Resource Script)
– Môi trường lập trình Windows cung cấp công
cụ để người sử dụng dễ dàng tạo, soạn thảo
nội dung các tài nguyên.
GV: Nguyễn Thị Mai Trang 10
Bài 1: Tổng quan về Lập trình Windows
Bài 1: Tổng quan về Lập trình Windows
GV: Nguyễn Thị Mai Trang 14
Bài 1: Tổng quan về Lập trình Windows
Có hai dạng thông điệp:
– Thông điệp được gởi vô hàng đợi thông điệp để chờ
xử lý (queue message): bao gồm các thông điệp
được phát sinh từ bàn phím, chuột
(WM_MOUSEMOVE, WM_LBUTTONDOWN,
WM_KEYDOWN, WM_CHAR,)
• Windows dùng một hàng đợi để chứa thông điệp nhận được,
mỗi một chương trình đều có một hàng đợi chứa thông điệp
riêng.
• Windows sẽ chuyển thông điệp từ hàng đợi chứa thông điệp
của hệ thống đến hàng đợi chứa thông điệp của chương
trình.
• Hàng đợi chứa thông điệp của chương trình chịu trách nhiệm
giữ tất cả các thông điệp của tất cả các cửa sổ thuộc chương
trình.
GV: Nguyễn Thị Mai Trang 15
Bài 1: Tổng quan về Lập trình Windows
Thông điệp được gởi trực tiếp đến thủ tục xử lý không
qua hàng đợi (nonqueue message), bao gồm các thông
điệp thời gian, thông điệp vẽ, và thông điệp thoát như
WM_TIMER, WM_PAINT, WM_QUIT.
Xử lý thông điệp:
– Một ứng dụng phải xóa và xử lý những thông điệp được gởi tới
hàng đợi của ứng dụng đó.
Source code một chương trình Windows
GV: Nguyễn Thị Mai Trang 19
Bài 1: Tổng quan về Lập trình Windows
GV: Nguyễn Thị Mai Trang 20
Bài 1: Tổng quan về Lập trình Windows
GV: Nguyễn Thị Mai Trang 21
Bài 1: Tổng quan về Lập trình Windows
Kết quả hiển thị
GV: Nguyễn Thị Mai Trang 22
Bài 1: Tổng quan về Lập trình Windows
Hàm WinMain
int
intint
int WINAPI
WINAPI WINAPI
WINAPI WinMain
WinMainWinMain
WinMain (HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpszCmdLine,
int nCmdShow)
Handle đến chương
trình hiện hành
Tham số dòng lệnh
Cách hiển thò cửa sổ (SW_SHOWNORMAL hoặc
SW_SHOWMINNOACTIVE)
Handle đến
chương trình
trước đó
GV: Nguyễn Thị Mai Trang 23
cửa sổ đều được xử lý qua hàm này.