Sơ nét v Visual C++ 6.0 và thư vin lp trình MFC
1
SƠ NÉT V VISUAL C++ 6.0 VÀ THƯ VIN MFC
Văn Chí NamNguyn Đức Hoàng H
Khoa Công ngh Thông tin, Trường ĐH KHTN TP.HCM
(vcnam@fit.hcmuns.edu.vn, ndhha@fit.hcmuns.edu.vn)
Phiên bn cp nht ngày 12/10/2004
GII THIU SƠ NÉT
Visual C++ 6.0 và thư vin lp trình MFC
Visual C++ 6.0 nm trong b Microsoft Visual Studio 6.0. Đây là mt môi
trường lp trình đa năng dành cho ngôn ng C/C++ và vì là mt môi trường lp trình
trên h điu hành Windows nên Visual C++ 6.0 cho phép lp trình viên thc hin rt
nhiu công vic, h tr lp trình viên vic coding, thiết kế giao din… Trong VC++
6.0 chúng ta có th to được : các ng dng trên Windows, ActiveX, hay thư vin liên
kết động DLL…VC++ 6.0 có nhiu công c giúp vic thiết kế giao din cho chương
trình, kim li và sa li.
Thư vin MFC (Microsoft Foundation Class) là thư vin tp hp các lp hướng
đối tượng đóng gói các hàm API ca Windows và các kiu d liu đặc bit. Bên cnh
s dng thư vin MFC trong Visual C++ 6.0, chúng ta có th s dng các hàm C
chun.
Các công c h tr lp trình
Visual Assist
Đây là mt công c Add-in vào môi trường lp trình. Nó giúp cho vic hin th
các hàm, các biến, các đon chương trình mt cách rõ ràng (thông qua màu sc ca các
biến, kiu d liu, hàm, t khoá..). Mt đon code trong Visual C++ có s dng Visual
Assist được th hin dưới đây :
void CListCtrlDemoDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// Draw the icon
Sơ nét v Visual C++ 6.0 và thư vin lp trình MFC
2
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
Visual Assist cung cp mt b phn “nhc tung” hot động rt hiu qu. Các
chc năng ca b phn bao gm : t động đin tên biến, tên hàm ch sau khi gõ 1 vài
ký t, hin th các prototype ca mt hàm (có sn trong thư vin hay ch mi được to
1 lp nào đó)…
Sau khi cài đặt Visual Assist, trong môi trường lp trình s xut hin mt
toolbar như hình dưới đây :
MSDN (Microsoft Developer Network)
Lp trình viên trên h điu hành Windows nói chung rt quen thuc vi b thư
vin này. Có th xem nó như mt tp “bách khoa” cho nhng ai lp trình trên các ngôn
ng t C/C++, Visual Basic cho đến C#, VB.Net.
Trong MSDN, ngoài các tài liu gii thiu chi tiết v vic s dng nhng hàm,
lp…, còn có các quyn sách, bài báo k thut, hay các mu code có th đưc tn
dng trong vic lp trình.
Trang web tham kho
Có th tham kho các ch đề ca C/C++, VB.NET, C#, ASP.NET … trên trang
web CodeProject (www.codeproject.com). Trên trang web này có rt nhiu bài viết
hay v các ch đề t cơ bn đến nâng cao. Gn như có th tìm thy được tt c nhng
vn đề mong mun đây.
Sơ nét v Visual C++ 6.0 và thư vin lp trình MFC
3
S DNG MÔI TRƯỜNG LP TRÌNH
To project s dng thư vin MFC
Để to mt project mi s dng thư vin lp trình MFC, chúng ta thc hin mt
s bước sau đây :
Bước 1 : Chn File \ New \ Projects
Bước 2 : Chn MFC AppWizard (exe)
Bước 3 : Đin tên project mong mun vào trong hp Project name, và chn
thư mc / đĩa ch đặt project trong hp Location. Nhn OK để tiếp tc.
Bước 4 : Trong hp thoi MFC AppWizard – Step 1, có 3 chn la loi ng
dng cn phát trin1. Chn loi ng dng thích hp nht theo yêu cu và nhn Next để
tiếp tc. (Có th nhn Finish bt c lúc nào để tiết kim thi gian nếu như nhng
thông s còn li để dng mc định).
1 3 loi ng dng là : (1) Single Document, (2), Multiple Documents, (3) Dialog-based. Ví d, ng dng
kiu single documentNotepad, MS Paint, kiu Multiple Documents là Microsoft Word (Photoshop, EditPlus),
kiu Dialog-based là Calculator
Sơ nét v Visual C++ 6.0 và thư vin lp trình MFC
4
Bước 5 : Tu vào loi ng dng được chn thì nhng bước còn li có nhng
chn la khác nhau (tham kho thêm nhng bài viết sau).
Màn hình làm vic
1 2
3
Sơ nét v Visual C++ 6.0 và thư vin lp trình MFC
5
Mt cách tương đối, có th chia màn hình làm vic thành ba vùng khác nhau :
Vùng 1 – Workspace
Đây là không gian tương tác giúp lp trình
viên nhanh chóng chuyn qua li gia các lp,
các tp tin hay các tài nguyên trong project.
(Tt/ M workspace : Alt + 0 hoc
View/Workspace)
Workspace gm có 3 tab chính (có th
các tab ph add-in): ClassView, ResourceView,
FileView. Ni dung các tab này được th hin
dng cây có th m rng, thu hp thông qua các
nút +, -.
ClassView cho thy hình nh tng th
project dưới dng các lp. Trong classview, lp
trình viên có th biết được cu to ca mt lp
(có nhng hàm, biến nào; tm vc hot động ca
các hàm, các biến – public, protected, private).
ResourceView cho thy được nhng tài
nguyên có trong project (dialog, menu, toolbar,
bitmap, icon, …). Thc cht đây là phn hin
thc hoá nhng gì th hin trong tp tin
resource.h.rc.
FileView cho thy nhng tp tin có trong
project :
source file,
header file,
resoure file
và nhng
tp tin
được thêm
vào sau.