Tải bản đầy đủ (.pdf) (20 trang)

Lập trình c trên windows ví dụ và bài tập (t4)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (79.55 KB, 20 trang )

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);


hOld = SelectObject(hdc,hPen);
MoveToEx(hdc,100,200,NULL);
LineTo(hdc,200,100);
SelectObject(hdc,hOld);
DeleteObject(hPen);
EndPaint(hWnd, &ps);
5
HBRUSH
• CreateBrushIndirect: Creates a brush with a specified style,
color, and pattern
• CreateDIBPatternBrushPt: Creates a brush with the pattern
from a DIB
• CreateHatchBrush: Creates a brush with a hatch pattern and
color
• CreatePatternBrush: Creates a brush with a bitmap pattern
• CreateSolidBrush: Creates a brush with a solid color
•Ví dụ:
hBr = CreateSolidBrush(255);
hOldBr = SelectObject(hdc,hBr);
Rectangle(hdc,0,0,400,200);

6
HFONT
•BOOL ChooseFont(LPCHOOSEFONT lpcf );
•HFONT CreateFontIndirect(
CONST LOGFONT* lplf);
(xem thêm tại GDI.pdf-tr26)
7
HBITMAP
•HBITMAP LoadBitmap(

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

×