複製鏈接
請複製以下鏈接發送給好友

EndPaint

鎖定
BeginPaint是函數為指定窗口進行繪圖的開始。EndPaint是繪圖的結束,釋放繪圖區,相似函數,GetDC () 與ReleaseDC () 。前者與後者的區別是,利用從GetDC()傳回的句柄可以在整個客户區上繪圖。
中文名
繪圖結束函數
外文名
EndPaint

目錄

EndPaint基本信息

EndPaint函數標記指定窗口的繪畫過程結束;這個函數在每次調用BeginPaint函數之後被請求,但僅僅在繪畫完成以後。
BOOL EndPaint(HWND hWnd, // 窗口句柄CONST PAINTSTRUCT *lpPaint // 繪製窗口的數據);

EndPaint參數

hWnd:[輸入]已經被重畫的窗口的HANDLE
lpPaint:[輸入]指向一個PAINTSTRUCT結構,該結構包含了繪畫信息,是BeginPaint函數返回的返回值:
返回值:
返回值始終是非0
備註:
PAINTSTRUCT 結構體包含了用於繪製窗口客户區的信息。
PAINTSTRUCT定義:
typedef struct tagPAINTSTRUCT {
HDC hdc;
BOOL fErase;
RECT rcPaint;
BOOL fRestore;
BOOL fIncUpdate;
BYTE rgbReserved[32];
} PAINTSTRUCT, *PPAINTSTRUCT;
hdc是用於繪製的句柄,fErase如果為非零值則擦除背景,否則不擦除背景,rcPaint 通過制定左上角和右下角的座標確定一個要繪製的矩形範圍,該矩形單位相對於客户區左上角,後面三個參數都是系統預留的,編程一般用不到。

EndPaint示例

採用GDI繪圖
HDC hdc;//設備場景DC
PAINTSTRUCT ps;
HEPN hPen;
HPEN hPenOld;
hdc = BeginPaint( hWnd , &ps );
hPen = CreatePen( PS_SOLID , 3 , RGB( 255 , 0 , 0 );
hPenOld = ( HPEN )SelectObject ( hdc , hPen );
MoveToEx ( hdc , 20 , 10 , NULL );
LineTo( hdc , 200 ,100);
SelectObject (hdc , hPenOld);
DeleteObject ( hPen );
EndPaint ( hWnd , &ps );