BeginPaint函數準備指定的窗口來重繪并將繪畫相關的信息放到一個PAINTSTRUCT結構中。
HDC BeginPaint(
HWND hwnd, // 窗口的HANDLE
LPPAINTSTRUCT lpPaint // 繪畫信息
);
參數:
hWnd:[輸入]被重繪的窗口HANDLE
lpPaint:[輸出]指向一個用來接收繪畫信息的PAINTSTRUCT結構
GetClientRect
函數功能:該函數獲取窗口客戶區的坐標。客戶區坐標指定客戶區的左上角和右下角。由于客戶區坐標是相對子窗口客戶區的左上角而言的,因此左上角坐標為(0,0)
函數原型:BOOL GetClientRect(HWND hWnd,LPRECT lpRect);
在Visual Studio 2005中,該函數的原型為 void GetWindowRect(LPRECT lpRect) const;
參數:
hWnd是程序窗口的句柄。lpRect是一個指標,指向一個RECT型態的rectangle結構.該結構有四個LONG字段,分別為left,top,right和bottom.GetClientRect將這四個字段設定為窗口顯示區域的尺寸。left和top字段通常設定為0。right和bottom字段設定為顯示區域的寬度和高度(像素點數)。
DrawText
函數功能:該函數在指定的矩形里寫入格式化文本,根據指定的方法對文本格式化(擴展的制表符,字符對齊、折行等)。
函數原型:int DrawText(HDC hdc, LPCTSTR lpString, int nCount, LPRECT lpRect, UINT uFormat);
參數:
hdc:設備環境句柄。
lpString:指向將被寫入的字符串的指針,如果參數nCount是-1,則字符串必須是以\0結束的。
如果uFormat包含DT_MODIFYSTRING,則函數可為此字符串增加4個字符,存放字符串的緩沖區必須足夠大,能容納附加的字符。
nCount:指向字符串中的字符數。如果nCount為-1,則lpString指向的字符串被認為是以\0結束的,DrawText會自動計算字符數。
lpRect:指向結構RECT的指針,其中包含正文將被置于其中的矩形的信息(按邏輯坐標)。
uFormat:指定格式化正文的方法。
EndPaint
EndPaint函數標記指定窗口的繪畫過程結束;這個函數在每次調用BeginPaint函數之后被請求,但僅僅在繪畫完成以后。
BOOL EndPaint(
HWND hWnd, // 窗口句柄
CONST PAINTSTRUCT *lpPaint // 繪制窗口的數據
);
參數:
hWnd:[輸入]已經被重畫的窗口的HANDLE
lpPaint:[輸入]指向一個PAINTSTRUCT結構,該結構包含了繪畫信息,是BeginPaint函數返回的返回值:
返回值:
返回值始終是非0