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