... menu
C c ví dụ:
Khi user chọn ch c năng v Circle ặ cn th hin 1 du
check (;) phía trư c
Ch c năng Cut/Copy/Delete chỉ đư c kích hoạt khi user
đánh dấu chọn 1 đoạn text
Ch c năng Paste chỉ ... phần c a c .trình (tt)
CWnd: lớp chính c a MFC để quản lý cc loại c a
sổ giao diện. C nhiều lớp đư c kế thừa từ lớp
này để quản lý cc loại c a sổ kh c nhau
(CTreeCtrl, CListBox, Cedit,…)
CFrameWnd: ... lớp CMainWindow, đư c
gọi khi c n c p nhật nội dung c a sổ. Hàm này đư c
định nghĩa chồng lên hàm chuẩn c a lớp CFrameWnd.
void CMainWindow::OnPaint () {
CPaintDC dc(this);
CRect rect;
GetClientRect...
... (wParam))
{
case IDC_BLACK:
case IDC_RED:
case IDC_GREEN:
case IDC_YELLOW:
case IDC_BLUE:
case IDC_MAGENTA:
case IDC_CYAN:
case IDC_WHITE:
iColor = LOWORD (wParam) ;
for( i = IDC_BLACK, i ... Windows cc chế liên kết những chương trình ứng
dụng với cc thủ t c ñư c cung c p trong thư viện liên kết ñộng.
Khả năng tương thích c a Windows c ng rất cao. Cc chương trình ứng dụng ñư c viết ...
crColor[iColor-IDC_BLACK]);
if(iBrush == IDC_HS_CROSS)
hbrush=CreateHatchBrush(HS_CROSS,
crColor[iColor - IDC_BLACK]);
if(iBrush == IDC_HS_DIAGCROSS)
hbrush=CreateHatchBrush(HS_DIAGCROSS,
crColor[iColor...
... nghĩa c a cc tờn m khụng cn s dng cc tờn di.
ã Đặt tên một c ch nhất quán
C c biến c liên quan phải đư c đặt cc tên c liên quan, đồng thời phải làm nổi bật đư c sự kh c nhau c a chúng.
C c ... cho cc con trỏ, s và t dành cho cc
xâu.Người ta dùng cc tên bắt đầu ho c kết th c bởi chữ “p” cho cc biến con trỏ (chẳng hạn nodep, intp,
intpp, doublep), cc tên bắt đầu bằng chữ hoa cho ...
3. C thể chú thích cc đoạn code bên trong hàm, tuy nhiên chỉ nên chú thích đủ hiểu. Quá nhiều chú thích và chú
thích thừa làm code trông rối. Tất ccc chú thích phải đư c lùi đầu dòng c ng...
... dùng, c n
ngày nay chúng ít đư c dựng n.
C c file cha ti nguyờn ca ng dng
ã Cc file *.ico là cc biểu tượng (icon) đư c dùng trong chương trình. Thông
thường cc công clậptrìnhtrên Windows ... chỉ chứa cc thao t c cần
thiết dưới dạng cc biểu tượng đ c trưng.
Ngoài ra c n rất nhiều cc điều khiển mà cc công clậptrình cung c p cho người lập
trình hay tự họ tạo ra dựa trên những ... LẬPTRÌNHLẬPTRÌNHCTRÊN WINDOWS
Chương 1
TỔNG QUAN LẬPTRÌNHCTRÊN WINDOWS
1.1. MỞ ĐẦU
Để lậptrình trờn Microsoft Windowsđ, chỳng ta cn nm cccc điểm c bản nhất
c a hệ điều hành này. Chương...
... dùng, c n
ngày nay chúng ít đư c dựng n.
C c file cha ti nguyờn ca ng dng
ã Cc file *.ico là cc biểu tượng (icon) đư c dùng trong chương trình. Thông
thường cc công clậptrìnhtrên Windows ... chỉ chứa cc thao t c cần
thiết dưới dạng cc biểu tượng đ c trưng.
Ngoài ra c n rất nhiều cc điều khiển mà cc công clậptrình cung c p cho người lập
trình hay tự họ tạo ra dựa trên những ... kế. Với c ch làm này giúp người dùng tr c quan hơn so với c ch chỉ cho phép
người dùng chỉ thao t ctrên một c a sổ.
Trang 46
NGÔN NGỮ LẬPTRÌNHLẬPTRÌNHCTRÊN WINDOWS
Tuy nhiên, c ng c một...
... ReleaseDC( HWND hWnd,
HDC hDC // handle to DC );
Chn cc i tng v vo trong DC
ãHGDIOBJ SelectObject( HDC hdc, HGDIOBJ hgdiobj);
5
HBRUSH
ã CreateBrushIndirect: Creates a brush with a specified ... di chuyển trên màn hình. Robot luôn di
chuyển, người sẽ điều khiển hướng đi c a robot
11
Robot
void DrawRobot(HDC hdc)
{
HDC hRobot = ::CreateCompatibleDC(hdc);
HGDIOBJ hOld = SelectObject( ... vit 1 chng trỡnh c mt robot bc i
trờn mn hỡnh
ãYờu cu:
Mụ t d liu
Mụ tả xử lý cc sự kiện c n thiết
20
DLL?
9
Robot
123
Chuỗi chuyển hình 1213-1213-…
19
Microsoft Foundation Class (MFC)
Library
Xem...
... theo sẽ trình bày những khái niệm và yêu c u c n bản c a vi clậptrìnhCtrên
Windows. Ngoài ra, phần này c ng giới thiệu cc cơ chế và cc công c mà hệ ñiều hành cung
c p cho người lậptrình ...
thường cc công clậptrìnhtrên Windows ñều ccc tool ñể tạo cc nh ny.
ã Con tr chut ca ng dng c thể ñư c vẽ lại dưới dạng cc biểu tượng và lu
trờn ủa vi dng file *.cur.
ã Cc file ... nhưng c thể chuyển sang dạng Unicode
và DBCS.
Tech24.vn
NGÔN NGỮ LẬPTRÌNHLẬPTRÌNHCTRÊN WINDOWS
Trang 6
ðiều trư c tiên c a người h clậptrìnhCtrên Windows là phải biết lậptrình C, ...
... ca ng dng
ã Cc file *.ico l cc biểu tượng (icon) đư c dùng trong chương trình. Thông thường cc công
c lậptrìnhtrên Windows đều ccc tool để tạo cc ảnh này.
mỗi chương trình chạy trên ... yêu c u đối với người lập trình
Điều trư c tiên c a người h clậptrìnhCtrên Windows là phải biết lậptrình C, sách này
không c tham vọng hướng dẫn người h c có thể thông thạo lậptrìnhCtrên ... dưới
dạng cc biểu tượng đ c trưng.
Ngoài ra c n rất nhiều cc điều khiển mà cc công clậptrình cung c p cho người lập trình
hay tự họ tạo ra dựa trên những thành phần đư c cung c p sẵn.
1.4.1.3....
... gcc -c editor .c
5. screen.o : screen .c screen.h
6. gcc -c screen .c
7. keyboard.o : keyboard .c keyboard.h
8. gcc -c keyboard .c
9. clean:
10. rm *.o
Để biên dịch chương trình này ta chỉ c n ...
ã Mt danh sỏch cc thnh phn ph thuc (dependencies) cn to ra ớch
ã Mt danh sỏch cc câu lệnh để th c thi trêncc thành phần phụ thu c
Khi đư c gọi, GNU make sẽ tìm cc file c tên là GNUmakefile, ... sách lệnh là dãy cc lệnh liên tiếp nhau, c i sau c ch c i trư c bởi dấu
chấm phảy ";"
Ví dụ, $ cal 10 1999; cal 11 1999 ; cal 12 1999
Shell cho người dùng c ch th c đ c biệt thực...
... export cc class. Ứng dụng kh c có thể tạo cc object
từ class, ho c xây dựng cc lớp kế thừa từ class
DLL sẽ đư c liên kết với cc DLL chuẩn c a MFC theo c ch liên
kết động.
Chỉ ccc ứng ... với cc DLL
chuẩn c a MFC theo c ch liên kết tĩnh.
“using shared MFC DLL”: DLL sẽ đư c liên kết với cc DLL
chuẩn c a MFC theo c ch liên kết động.
MFC Extention DLL:
Cho phép export cc ... điểm:
Dễ th c hiện
Chương trìnhc thể chạy đ c lập, không c n cc file kèm theo
Chương trình sẽ chạy nhanh hơn (nếu kích thư c nhỏ)
Spring 200 4C4 W - DLL - Nguyen Tri Tuan - DH.KHTN Tp.HCM 6
Giới...
... nghĩa, ch c năng và t c dụng c a trình biên dịch gcc.
3. Th c hành cc lệnh trong lậptrình shell
4. Th c hành cc lệnh trong lậptrìnhC
- 63 -
- Cc dòng lệnh bắt đầu bằng dấu # chính ... hoàn chỉnh.
Ta c thể kiểm tra cc thu c tính file, so sánh cc xâu và cc biểu th c số h c.
Chú ý: Cc khoảng trống trƣ c dấu mở ngo c và sau dấu đóng ngo c trong [condition]
là c n phải c . ... sách lệnh là dãy cc lệnh liên tiếp nhau, c i sau c ch c i trƣ c bởi dấu
chấm phảy ";"
Ví dụ: $ cal 10 1999; cal 11 1999 ; cal 12 1999
Shell cho ngƣời dùng c ch th c đ c biệt thực...
... Tp.HCM 15
C c khái niệm c bản - DC trong MFC…(tt)
VD1. Vẽ bằng CDC
CDC* pDC = GetDC();
// Cc lệnh vẽ …
ReleaseDC(pDC);
VD2. Xử lý thông điệp WM_PAINT, dùng lớp CDC
PAINTSTRUCT ps;
CDC* pDC ... niệm c bản - DC trong MFC…(tt)
VD4. Vẽ trên vùng client, dùng lớp CClientDC
void CMainWindow::OnLButtonDown(UINT nFlags,
CPoint point)
{
CRect rect;
GetClientRect(&rect);
CClientDC dc(this);
dc.MoveTo(rect.left, ... - DC trong MFC
C c lớp liên quan đến DC
CDC: là lớp c sở dùng để quản lý DC
CPaintDC:
Dẫn xuất từ lớp CDC,
Dùng với cc thao t c vẽ trong vùng client
c a c a sổ
Chỉ sử dụng trong...
... 8
Spring 200 4C4 W - Hook - Nguyen Tri Tuan - DH.KHTN Tp.HCM 15
Minh họa c ch lậptrình Hook
C c hàm thao t c với Hook
C i đặt thủ t c Hook
Ví dụ thủ t c Hook
Chuyển message cho thủ t c Hook ... c chế trong lậptrình sự kiện,…
…cho phép ứng dụng c thể c i đặt một hàm
giám sỏt vo quỏ trỡnh lu chuyn cc thụng
ip
ặ ng dụng c thể chặn và xử lý cc thông
điệp trư c khi nó đến đư c ... Tp.HCM 17
Minh họa c ch lậptrình Hook - C i đặt thủ t c Hook
Một ứng dụng c n phải th c hiện vi c Cài đặt thủ t c Hook
khi muốn giám sát message
Hàm SetWindowsHookEx sẽ c i đặt thủ t c Hook...