1
Lập trình C trên Windows
Ví dụ và Bài tập (T4)
Nguyễn Đức Hoàng Hạ
Khoa CNTT –Trường ĐHKHTN
Email:
2
Graphics Device Interface
(GDI)
3
HDC
WM_PAINT
•HDC BeginPaint( HWND hwnd, // input
LPPAINTSTRUCT lpPaint // output );
•BOOL EndPaint( HWND hWnd,
PAINTSTRUCT*lpPaint );
Không phải trong WM_PAINT
•HDC GetDC( HWND hWnd);
•int ReleaseDC( HWND hWnd,
HDC hDC // handle to DC );
Chọn các đối tượng vẽ vào trong DC
•HGDIOBJ SelectObject( HDC hdc, HGDIOBJ hgdiobj);
4
HPEN
• HPEN CreatePen( int fnPenStyle,
int nWidth,
COLORREF crColor);
• BOOL DeleteObject( HGDIOBJ hObject);
•Ví dụ:
hdc = BeginPaint(hWnd, &ps);
hPen = CreatePen(PS_SOLID,2,0);
HINSTANCE hInstance,
LPCTSTR lpBitmapName);
•HANDLE LoadImage(
HINSTANCE hinst,LPCTSTR lpszName,
UINT uType, int cxDesired,
int cyDesired, UINT fuLoad );
uType: IMAGE_BITMAP,IMAGE_CURSOR,IMAGE_ICON
fuLoad: LR_LOADFROMFILE
8
Ví dụ 4
Robot
•Mô tả:
Hãy viết 1 chương trình có 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ý các sự kiện cần thiết