Lập trình C trên Windows Ví dụ và Bài tập (T4) Graphics Device Interface (GDI) 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); 3 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); 4 HBRUSH • CreateBrushIndirect:. | 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 ndhha@ 1 Graphics Device Interface GDI Output 2 HDC WM_PAINT HDC BeginPaint HWND hwnd input LPPAINTSTRUCT IpPaint output BOOL EndPaint HWND h Wnd 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