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

Giáo án - Bài giảng: BÀI GIẢNG 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.38 MB, 348 trang )

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)


• 
GV: Nguyễn Thị Mai Trang 5
Bài 1: Tổng quan về Lập trình Windows
GV: Nguyễn Thị Mai Trang 6
Bài 1: Tổng quan về Lập trình Windows

Tính đa nhiệm:
– Mỗi chương trình chiếm một phần tài nguyên của hệ
thống và có một phần bộ nhớ thường trú
– Nhiều chương trình có thể được kích hoạt chạy cùng
một lúc
– Tư tưởng hướng đối tượng: các cửa sổ ứng dụng
chính và các cửa sổ con là các đối tượng của lớp cửa
sổ được đăng ký trước.

Giao diện đồ họa độc lập thiết bị
– Cho phép tạo các đối tượng đồ họa và định dạng văn
bản
– Chương trình viết cho Windows không điều khiển trực
tiếp thiết bị xuất ra màn hình, máy in mà thông qua
một ngôn ngữ lập trình đồ họa gọi là Giao diện thiết bị
đồ họa (Graphics device Interface – GDI)
GV: Nguyễn Thị Mai Trang 7
Bài 1: Tổng quan về Lập trình Windows

Kiến trúc hướng thông điệp (message driven):
– Windows và các ứng dụng Windows hoạt động theo
cơ chế truyền – nhận thông điệp.
– Các hoạt động của chương trình thay đổi tùy theo
thông điệp nhận được.

– 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

GV: Nguyễn Thị Mai Trang 11
Bài 1: Tổng quan về Lập trình Windows

Giao diện lập trình ứng dụng API (Application
Programming Interface):
– Là những hàm mà hệ điều hành Windows cung cấp
để cho các ứng dụng có thể sử dụng truy cập các tài
nguyên trong hệ thống.
– Những hàm trên được chứa trong các thư viện liên
kết động (Dinamic Link Library – DLL) của hệ thống
và mọi ứng dụng đều có thể truy cập đến các hàm
đó.
– Các chương trình ứng dụng sử dụng các hàm API
thông qua các lời gọi hàm.
– Trong API có một số hàm có chức năng duy trì sự
độc lập thiết bị đồ họa, các hàm này gọi là giao diện
thiết bị đồ họa GDI (Graphics Device Interface).
GV: Nguyễn Thị Mai Trang 12
Bài 1: Tổng quan về Lập trình Windows
 Cơ chế gởi – nhận thông điệp
– Mọi sự kiện xảy ra trên một chương trình
Windows đều thông qua những thông điệp
(messages).
– Thông điệp phát sinh khi: nhấn một nút trên
bàn phím, di chuyển hoặc nhấn chuột, thay
đổi kích thước cửa sổ
– Với mỗi thông điệp nhận được, chương trình
ứng dụng sẽ có hành động thích hợp đáp
ứng với thông điệp.
GV: Nguyễn Thị Mai Trang 13

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 đó.

– Đối với một ứng dụng đơn tiểu trình thì sử dụng một vòng lặp
thông điệp (message loop) trong hàm WinMain để nhận thông
điệp từ hàng đợi và gởi tới thủ tục xử lý cửa sổ tương ứng.
– Với những ứng dụng đa tiểu trình thì mỗi một tiểu trình có tạo
cửa sổ thì sẽ có một vòng lặp thông điệp để xử lý thông điệp của
những cửa sổ trong tiểu trình đó.
GV: Nguyễn Thị Mai Trang 16
Bài 1: Tổng quan về Lập trình Windows
 Một số thông điệp Windows
– WM_CHAR: Một ký tự nhập từ bàn phím
– WM_CREATE: Một cửa sổ được tạo.
– WM_DESTROY: Một cửa sổ được hủy.
– WM_LBUTTONDOWN: Nhấn phím trái chuột
– WM_LBUTTONUP: Nhả phím chuột
– WM_PAINT: Một cửa sổ được vẽ lại
– WM_QUIT: Kết thúc ứng dụng
– WM_SIZE: Thay đổi kích thước cửa sổ
– WM_TIMER: sự kiện về thời gian
– 
GV: Nguyễn Thị Mai Trang 17
Bài 1: Tổng quan về Lập trình Windows
 Trình tự thực hiện một chương trình
Windows
– Đăng ký lớp cửa sổ
– Tạo cửa sổ
– Hiển thị cửa sổ
– Xử lý các thông điệp nhờ vòng lặp message
và thủ tục cửa sổ
GV: Nguyễn Thị Mai Trang 18
Bài 1: Tổng quan về Lập trình Windows

 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

Bài 1: Tổng quan về Lập trình Windows
 Chức năng của hàm WinMain
– Định nghĩa lớp cửa sổ ứng dụng.
– Đăng ký lớp cửa sổ vừa định nghĩa.
– Tạo ra thể hiện cửa sổ của lớp đã cho.
– Hiển thị cửa sổ.
GV: Nguyễn Thị Mai Trang 24
Bài 1: Tổng quan về Lập trình Windows
 Hàm WndProc
LRESULT CALLBACK WndProc ( HWND,
UINT,
WPARAM,
LPARAM );
Định danh cửa sổ
Định danh
thông điệp
Thông tin bổ sung kèm
theo thông điệp
GV: Nguyễn Thị Mai Trang 25
Bài 1: Tổng quan về Lập trình Windows

Chức năng của hàm WndProc
– Xử lý tất cả các thông điệp có liên quan đến cửa sổ
– Một chương trình Windows có thể chứa nhiều hơn
một hàm xử lý cửa sổ.
– Một hàm xử lý cửa sổ luôn kết hợp với một lớp cửa
sổ đặc thù.
– Hàm xử lý cửa sổ thường được đặt tên là WndProc.
– Hàm WndProc có chức năng giao tiếp với bên ngoài,
tức là với Windows, toàn bộ các thông điệp gởi đến

cửa sổ đều được xử lý qua hàm này.

×