Lập trình trên môi trường Windows<br />
KỸ THUẬ<br />
THUẬT LẬ<br />
LẬP TRÌNH VISUAL C++<br />
(MFC)<br />
<br />
Nội dung trình bày<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
•<br />
<br />
Giới thiệu về MFC<br />
Chương trình MFC đầu tiên<br />
Xử lý Mouse và Keyboard<br />
Một số lớp thường gặp: CWnd, CString,..<br />
Các control thường gặp<br />
Các dialog thường gặp<br />
Xử lý menu<br />
<br />
1<br />
<br />
Giới thiệu về MFC<br />
• MFC là gì ?<br />
• Một số tính năng của MFC qua từng version<br />
• Các thành phần của 1 ứng dụng trong VC++<br />
<br />
Giớ<br />
Giới thiệ<br />
thiệu về<br />
về MFC<br />
<br />
MFC là gì ?<br />
• Là một thư việ<br />
viện cá<br />
các lớ<br />
lớp hướ<br />
hướng đố<br />
đối tượ<br />
tượng dù<br />
dùng cho việ<br />
việc lậ<br />
lập trì<br />
trình trên<br />
Windows.<br />
• Đượ<br />
Được xây dự<br />
dựng trên cơ sở<br />
sở các hà<br />
hàm thư việ<br />
viện API củ<br />
của Windows<br />
• Version 6 có<br />
có khoả<br />
khoảng 200 lớ<br />
lớp<br />
• Giú<br />
Giúp cho ngườ<br />
người lậ<br />
lập trì<br />
trình có<br />
có thể<br />
thể xây dự<br />
dựng ứng dụ<br />
dụng nhanh và<br />
và ít tố<br />
tốn<br />
công sứ<br />
sức hơn so vớ<br />
với việ<br />
việc sử<br />
sử dụng đơn thuầ<br />
thuần cá<br />
các hà<br />
hàm thư việ<br />
viện API<br />
của Windows<br />
• Ta vẫ<br />
vẫn có<br />
có thể<br />
thể gọi cá<br />
các hà<br />
hàm Windows API trong cá<br />
các ứng dụ<br />
dụng MFC<br />
<br />
2<br />
<br />
Giớ<br />
Giới thiệ<br />
thiệu về<br />
về MFC<br />
<br />
MFC là gì ?<br />
• Trong 1 ứng dụ<br />
dụng MFC, ta thườ<br />
thường không gọ<br />
gọi hà<br />
hàm<br />
Windows API trự<br />
trực tiế<br />
tiếp, mà<br />
mà sẽ tạo cá<br />
các đố<br />
đối tượ<br />
tượng từ<br />
từ nhữ<br />
những<br />
lớp củ<br />
của MFC, và<br />
và gọi phương thứ<br />
thức củ<br />
của đố<br />
đối tượ<br />
tượng đó<br />
đó<br />
• Đa số<br />
số các phương thứ<br />
thức củ<br />
của nhữ<br />
những lớ<br />
lớp MFC có<br />
có cùng tên<br />
với nhữ<br />
những hà<br />
hàm Windows API<br />
• MFC tạ<br />
tạo ra mộ<br />
một Application Framework, giú<br />
giúp:<br />
– Thiết lập kiến trúc của ứng dụng một cách nhất quán và khoa<br />
học<br />
– Che dấu đi nhiều phần chi tiết mà Windows API đòi hỏi, giúp<br />
lập trình viên “thảnh thơi” hơn<br />
<br />
Giớ<br />
Giới thiệ<br />
thiệu về<br />
về MFC<br />
<br />
Một số tính năng của MFC<br />
• Version 1:<br />
– Các lớp List, Array, String, Time, Date, File access,…<br />
– Các lớp giao diện cơ bản<br />
– MDI, OLE 1.0<br />
<br />
• Version 2:<br />
–<br />
–<br />
–<br />
–<br />
–<br />
–<br />
–<br />
<br />
File open, save<br />
Print preview, printing<br />
Scrolling window, Splitter window<br />
Toolbar, Statusbar<br />
Truy xuất được đến các control của VB<br />
Trợ giúp theo ngữ cảnh (Context-sensitive help)<br />
DLL<br />
<br />
3<br />
<br />
Giớ<br />
Giới thiệ<br />
thiệu về<br />
về MFC<br />
<br />
Một số tính năng của MFC<br />
• Version 2.5:<br />
– Hỗ trợ ODBC (Open Database Connectivity), cho phép truy<br />
xuất đến các CSDL Access, FoxPro, SQL Server,…<br />
– OLE 2.01<br />
<br />
• Version 3:<br />
– Hỗ trợ tab dialog (property sheet)<br />
– Docking control bar<br />
<br />
• Version 3.1:<br />
– Hỗ trợ các control chuẩn của Windows 95<br />
– ODBC level 2 with Access Jet database engine<br />
– Các lớp Winsock phục vụ lập trình TCP/IP<br />
<br />
Giớ<br />
Giới thiệ<br />
thiệu về<br />
về MFC<br />
<br />
Một số tính năng của MFC<br />
• Version 4.0:<br />
–<br />
–<br />
–<br />
–<br />
<br />
ADO (Data Access Object)<br />
Windows 95 docking control bar<br />
Bổ sung thêm lớp TreeView và RichEdit<br />
Các lớp đồng bộ hoá các tiểu trình<br />
<br />
• Version 4.2:<br />
–<br />
–<br />
–<br />
–<br />
<br />
Các lớp WinInet<br />
Các lớp ActiveX document server<br />
Các tính năng mở rộng của ActiveX control<br />
Tăng cường một số khả năng của ODBC<br />
<br />
4<br />
<br />
Giớ<br />
Giới thiệ<br />
thiệu về<br />
về MFC<br />
<br />
Một số tính năng của MFC<br />
• Version 6:<br />
– Hỗ trợ các lớp cho những control chuẩn trong IE<br />
4.0<br />
– Hỗ trợ Dynamic HTML, cho phép tạo lập động các<br />
trang HTML<br />
– Active Document Containment, cho phép ứng dụng<br />
MFC có thể chứa các Active Document<br />
– OLE DB và ADO<br />
<br />
Giớ<br />
Giới thiệ<br />
thiệu<br />
<br />
Các thành phần của 1 ứng dụng<br />
<br />
5<br />
<br />