EndPaint

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

概述,參數,示例,

概述

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

參數

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 通過制定左上角和右下角的坐標確定一個要繪製的矩形範圍,該矩形單位相對於客戶區左上角,後面三個參數都是系統預留的,編程一般用不到。

示例

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

相關詞條

熱門詞條

聯絡我們