... menu
C c ví dụ:
Khi user chọn ch c năng vẽ Circle Æ c n thể hiện 1 dấu
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 ... 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...
... 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 hay người phát triển cc ứng dụng trên Windows.
Cuối chương ... dùng, c n
ngày nay chúng ít đư c dùng đến.
C c file chứa tài nguyên c a ứng dụng
• 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 ... TRÌNHLẬPTRÌNHCTRÊN WINDOWS
Chương 1
TỔNG QUAN LẬPTRÌNHCTRÊN WINDOWS
1.1. MỞ ĐẦU
Để lậptrìnhtrên Microsoft Windows®, chúng ta c n nắm đư ccc đ c đ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 chứa tài nguyên c a ứng dụng
• 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 ... 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 thành phần đư c cung ... 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 hay người phát triển cc ứng dụng trên Windows.
Cuối chương là phần xây dựng một chương trình đơn...
... ReleaseDC( HWND hWnd,
HDC hDC // handle to DC );
Chọn cc đối tượng vẽ vào trong DC
•HGDIOBJ SelectObject( HDC hdc, HGDIOBJ hgdiobj);
5
HBRUSH
• CreateBrushIndirect: Creates a brush with a specified ... tả:
Hãy đóng gói HDC thành lớp CMyDC nhằm hỗ trợ người lậptrìnhCtrên
Windows.
• Yêu c u:
classCMyDC {
Public:
PAINTSTRUCT m_ps;
HDC m_hdc;
HWND m_hwnd;
HDC BeginPaint(HWND);
void EndPaint();
void ... viết 1 chương trìnhc một robot bư c đi
trên màn hình
•Yêu c u:
–Mô tả dữ liệu
–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...
... 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, sách ... cho
Tech24.vn
NGÔN NGỮ LẬPTRÌNHLẬPTRÌNHCTRÊN WINDOWS
Trang 2
Chương 1
TỔNG QUAN LẬPTRÌNHCTRÊN WINDOWS
1.1. MỞ ðẦU
ðể lậptrìnhtrên Microsoft Windows®, chúng ta c n nắm ñư ccc ... th c ñơn.
Thanh c ng c (toolbar): ñây là một dạng menu nhưng 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ập trình...
... nguyên c a ứng dụng
• 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 ... 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 hay người phát triển cc ứng dụng trên Windows.
Cuối chương ... 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 ... Một danh sách cc thành phần phụ thu c (dependencies) c n để tạo ra đích
• Một 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à ... trong cc thư m c /usr/lib và /lib. Dưới đây là cc tùy chọn c a lệnh
này:
C c tuỳ chọn Cc miêu tả
-p
Đơn thuần chỉ in ra nội dung c a /etc/ld.so.cache, một danh
sách hiện thời cc thư...
... 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 . ... dịch gcc
Hệ điều hành UNIX luôn kèm theo bộ dịch ngôn ngữ lậptrìnhC với tên gọi là cc (C
compiler). Trong Linux, bộ dịch c tên là gcc (GNU C Compiler) với ngôn ngữ lậptrình
không khá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...
... là một 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 vào quá trình lưu chuyển cc thông
điệp
Æ ứng dụng c thể chặn và xử lý cc thông
điệp trư c khi ... Hook
…
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 ... 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...
... Sơ lư c
C c hàm quản lý vùng nhớ toàn cc chậm
và cung c p ít tính năng hơn cc hàm quản
lý bộ nhớ kh c nên ít đư c dùng
…Tuy nhiên, chúng vẫn đư c dùng với
DDE, Clipboard và cc đối ... c u tr c mô tả hình tròn
struct CIRCLE strCircle; // Lưu kết quả
if (OpenClipboard())
{
HANDLE hData = GetClipboardData(nID);
struct CIRCLE *p =
(struct CIRCLE *) GlobalLock(hData);
// Sao chép ... liệu
strCircle.center = pÆcenter;
……
GlobalUnlock(hData);
CloseClipboard();
}
13/06/200 3C4 W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 74
[3] Cc kỹ thuật … - Truy vấn trên nhiều định dạng
C c...