... Tp.HCM 18
[2] Cc kiểu định dạng … - Định dạng chuẩn
Hệ thống tự th c hiện vi c chuyển đổi định
dạng dữ liệu giữa ccđịnh dạng sau:
CF_TEXT, CF_OEMTEXT, CF_UNICODETEXT
CF_BITMAP, CF_DIB, ... handle c a khối nhớ
hMem: handle c a khối nhớ c n đư c giải phóng
7
13/06/200 3C4 W - Clipboard - Nguyen Tri Tuan - DH.KHTN Tp.HCM 13
[2] Cc kiểu định dạng … - Định dạng chuẩn
C cđịnh dạng Clipboard ... Clipboard chuẩn (Standard
Clipboard Formats) là ccđịnh dạng sử
dụng cho Clipboard đư cWindows hỗ trợ
Định danh c a định dạng chuẩn đư cđịnh
nghĩa trong Winuser.h
13/06/200 3C4 W - Clipboard...
... - DLL). Windowscc 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 Windowsc ng rất cao. Cc chương trình ứng ... bỏ chọn cc nút kh c bằng ñoạn lệnh
sau.
case WM_COMMAND:
switch (LOWORD (wParam))
{
case IDC_BLACK:
case IDC_RED:
case IDC_GREEN:
case IDC_YELLOW:
case IDC_BLUE:
case IDC_MAGENTA:
case ...
MB_SETCHECK tới cc nút radio. Nếu word thấp c a ñối số wParam bằng chỉ danh ID c a
nút ñư c chọn thì nút ñó ñư c ñánh dấu và cc nút kh c sẽ không ñư c chọn.
Chú ý :Trong cc ví dụ trên thường...
... vi clậptrìnhCtrên
Windows. Ngoài ra, phần này c ng giới thiệu ccc chế và ccc 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 ... 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 ccc ng clậptrìnhtrênWindows ... 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...
... 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 ccc ng clậptrìnhtrênWindows đều ccc tool để tạo cc ảnh này.
• Con trỏ chuột c a ... đến c a sổ cha c a
nó và c a sổ cha c thể thay đổi trạng thái c a cc thành phần điều khiển con như kích hoạt, đánh
dấu (check), bỏ dấu check (uncheck) bằng c ch gởi cc thông điệp đến cc thành ... phần này c ng giới thiệu ccc chế và ccc 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...
... file *.ico là cc biểu tượng (icon) ñư c dùng trong chương trình. Thông
thường ccc ng clậptrìnhtrênWindows ñều ccc tool ñể tạo cc ảnh này.
• Con trỏ chuột c a ứng dụng c thể ñư c vẽ ... cho
Tech24.vn
NGÔN NGỮ LẬPTRÌNHLẬPTRÌNHCTRÊNWINDOWS
Trang 2
Chương 1
TỔNG QUAN LẬPTRÌNHCTRÊNWINDOWS
1.1. MỞ ðẦU
ðể lậptrìnhtrên Microsoft Windows , chúng ta c n nắm ñư ccc ... c thể chuyển sang dạng Unicode
và DBCS.
Tech24.vn
NGÔN NGỮ LẬPTRÌNHLẬPTRÌNHCTRÊNWINDOWS
Trang 6
ðiều trư c tiên c a người h clậptrìnhCtrênWindows là phải biết lậptrình C, sách...
... 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 ccc ng
c lậptrìnhtrênWindows đề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 ccc chế và ccc 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à ccc 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....
... 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...
... 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
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ỉ ... 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,...
... 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: ... HTML
Active Document Containment, cho phép ứng
dụng MFC c thể chứa cc Active Document
OLE DB và ADO
Spring 200 4C4 W - VisualC++ (MFC) - Nguyen Tri Tuan - DH.KHTN Tp.HCM 10
Giới thiệu về MFC - Cc thành...
... 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 ... t c Hook…(tt)
Mỗi loại Hook c n cc ch xử lý kh c nhau
khi xây dựng Hook Procedure
C thể c i đặt nhiều Hook Procedure bằng
c ch dùng hàm SetWindowsHook hay
SetWindowsHookEx
Hook Procedure...
... CS_HREDRAW | CS_VREDRAW;
wcex.lpfnWndProc = (WNDPROC)WndProc;
wcex.cbClsExtra = 0;
wcex.cbWndExtra = 0;
wcex.hInstance = hInstance;
wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_BBBBB);
wcex.hCursor ... LoadCursor(NULL, IDC_ARROW);
wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wcex.lpszMenuName= (LPCSTR)IDC_BBBBB;
wcex.lpszClassName = szWindowClass;
wcex.hIconSm = LoadIcon(hInstance,(LPCTSTR)IDI_SMALL);
RegisterClassEx(&wcex);
18
Ví ... toán:
–Nhấn chuột trái chọn điểm đầu
–Thả chuột trái chọn điểm cuối
–Khi c thay đổi thì vẽ lại ra màn hình
•Yêu c u:
–Thiết kế dữ liệu
–Viết mã giả xử lý cho cc sự kiện sau:
•WM_CREATE, WM_PAINT
•WM_LBUTTONDOWN,...