?完笥補竃猟忖--TextOut才DrawText痕方
<貧匯准
和匯准>
壓ゞ匯倖頼屁議Windows殻會崇尺〃匯准嶄?厘断聞喘 DrawText() ?人薩曝議嶄寂了崔補竃阻匯粁猟云?徽旺短嗤峋聾盾瞥?宸准厘断栖嶷泣傍匯和猟忖議補竃。
Windows音塋俯厘断岷俊恵諒啣周?泌囚徒、?塋焼滇?鰉〇繒硲t旃誥睾Ý下鯸36吐威Ĺ餤?譜姥桟廠?Device Context?酒各 DC??序遇寂俊議恵諒啣周。
嚥猟忖補竃、夕侘紙崙嗤購議痕方?壓聞喘扮寄脅俶勣勧秘匯倖歌方?祥頁譜姥桟廠鞘凹。資函譜姥桟廠鞘凹嗤謹嶽圭塀?械喘議頁 BeginPaint 痕方。紙夕頼撹朔?珊勣瞥慧鞘凹?聞喘 EndPaint 痕方。
紙夕潤崩朔?匆俶勣距喘 EndPaint 痕方宥岑Windows?御盆万紙夕潤崩阻?低辛參写偬朔中議垢恬阻。
叱泣傍苧?
1) PAINTSTRUCT 潤更悶喘栖隠贋嚥紙夕桟廠嗤購議佚連?云縮殻音氏聞喘欺?音壅讐盾?嗤佶箸議響宀辛徭佩Google賜為業。
2) BeginPaint 才 EndPaint 痕方喘栖蝕兵紙夕才潤崩紙夕?駅倬撹斤竃孖?補竃猟忖賜紙崙夕侘議旗鷹匆駅倬慧壓曾倖痕方岻寂。
3) 忖憲堪匯違聞喘錐忖憲?斤哘議柴麻忖憲堪海業議痕方葎 wcslen()。
DrawText 壓坪何凪糞匆頁距喘TextOut ?音狛万恬阻載謹侃尖?曳泌 DrawText 涙俶岑祇補竃謹富倖忖憲。厚嶷勣議頁?DrawText 辛參侃尖算佩憲遇 TextOut 音嬬?貫宸倖叔業心?DrawText 哘乎頁匯嶽厚互雫議喘隈?頁壓TextOut児粥貧議撃廾。
DrawText 議圻侏頁?
1) 泌惚 nCount 葎 -1?夸燕苧 lpString 峺?議忖憲堪頁參
2) 歌方 uFormat 嗤膨嶽函峙?万断辛參販吭怏栽?
DrawText 幣箭?
個延完笥寄弌扮?猟云氏徭強距屁了崔?匯岷侃噐完笥嶄寂。
GetClientRect 痕方喘栖資誼完笥人薩曝議恫炎?匆祥頁資誼人薩曝宸倖賞侏。
譜姥桟廠?DC?
壓Windows嶄?匯俳嬬壓?塋焼烔録患週超縞罵斜裡?撒?趯┻磧∀漾⊂慚痢?乙硲r屋趯34鍔屐?嵬紂6墫短Ю緩砧鍔嶌様柴j撚四i庁i?万断壓云嵎貧脅頁夕侘?脅俶勣壓?塋焼烔六19歆粥U瞎科?Windows瓜各恬夕侘荷恬狼由議圻咀。Windows音塋俯厘断岷俊恵諒啣周?泌囚徒、?塋焼滇?鰉〇繒硲t旃誥睾Ý下鯸36吐威Ĺ餤?譜姥桟廠?Device Context?酒各 DC??序遇寂俊議恵諒啣周。
譜姥桟廠嗤扮匆瓜各葎譜姥貧和猟賜譜姥宙峰燕。侭僚譜姥桟廠?祥頁嚥輝念啣周譜姥嗤購議光嶽佚連?万頁啣周譜姥議渇嵆。匆祥頁傍?譜姥桟廠祥旗燕輝念議啣周。
嚥猟忖補竃、夕侘紙崙嗤購議痕方?壓聞喘扮寄脅俶勣勧秘匯倖歌方?祥頁譜姥桟廠鞘凹。資函譜姥桟廠鞘凹嗤謹嶽圭塀?械喘議頁 BeginPaint 痕方。紙夕頼撹朔?珊勣瞥慧鞘凹?聞喘 EndPaint 痕方。
BeginPaint 才 EndPaint 痕方
輝窟伏 WM_PAINT 並周扮?哘喘殻會蝕兵紙夕。紙夕岻念俶勣枠距喘 BeginPaint 痕方宥岑 Windows?御盆万輝念殻會俶勣聞喘?塋焼?d祕嘉賭始属鼻?BeginPaint 痕方峇佩頼穎祥卦指譜姥桟廠鞘凹?俊和栖祥辛參聞喘 GDI 痕方紙夕阻。紙夕潤崩朔?匆俶勣距喘 EndPaint 痕方宥岑Windows?御盆万紙夕潤崩阻?低辛參写偬朔中議垢恬阻。
TextOut 痕方
TextOut 痕方辛參壓人薩曝補竃匯粁猟云?圻侏葎?BOOL TextOut( HDC hdc, //譜姥桟廠鞘凹 int nXStart, //蝕兵補竃了崔議x恫炎 int nYStart, //蝕兵補竃了崔議y恫炎 LPCTSTR lpString, //勣補竃議忖憲堪 int cbString //忖憲堪議海業 );耽輝窟伏WM_PAINT並周扮?完笥祥氏窟伏嶷紙?宸倖扮昨俶勣?完笥補竃猟忖?
LRESULT CALLBACK WndProc(
HWND hwnd,
UINT message,
WPARAM wParam,
LPARAM lParam
){
HDC hdc; //譜姥桟廠鞘凹
PAINTSTRUCT ps; //贋刈紙夕桟廠議屢購佚連
TCHAR szText[20] = TEXT("散哭栖欺C囂冱嶄猟利");
switch (message){
case WM_PAINT:
//蝕兵紙夕旺卦指桟廠鞘凹
hdc = BeginPaint (hwnd, &ps);
//補竃猟忖
TextOut(hdc, 50, 50, szText, wcslen(szText));
//潤崩紙夕旺瞥慧桟廠鞘凹
EndPaint (hwnd, &ps) ;
return 0 ;
case WM_DESTROY:
PostQuitMessage(0) ;
return 0 ;
}
return DefWindowProc(hwnd, message, wParam, lParam) ;
}
塰佩丼惚?叱泣傍苧?
1) PAINTSTRUCT 潤更悶喘栖隠贋嚥紙夕桟廠嗤購議佚連?云縮殻音氏聞喘欺?音壅讐盾?嗤佶箸議響宀辛徭佩Google賜為業。
2) BeginPaint 才 EndPaint 痕方喘栖蝕兵紙夕才潤崩紙夕?駅倬撹斤竃孖?補竃猟忖賜紙崙夕侘議旗鷹匆駅倬慧壓曾倖痕方岻寂。
3) 忖憲堪匯違聞喘錐忖憲?斤哘議柴麻忖憲堪海業議痕方葎 wcslen()。
DrawText痕方
TextOut 壓匯倖軟泣蝕兵補竃猟云?辛參娼鳩協了?音嬬徭強算佩?DrawText 壓峺協曝囃坪補竃猟云?辛參陣崙鯉塀斤馴?肖恣、肖嶄、肖嘔??辛參算佩。DrawText 壓坪何凪糞匆頁距喘TextOut ?音狛万恬阻載謹侃尖?曳泌 DrawText 涙俶岑祇補竃謹富倖忖憲。厚嶷勣議頁?DrawText 辛參侃尖算佩憲遇 TextOut 音嬬?貫宸倖叔業心?DrawText 哘乎頁匯嶽厚互雫議喘隈?頁壓TextOut児粥貧議撃廾。
DrawText 議圻侏頁?
int DrawText( HDC hDC, //譜姥桟廠鞘凹 LPCTSTR lpString, //繍勣補竃議忖憲堪 int nCount, //忖憲堪議海業 LPRECT lpRect, //峺?匯倖裳侘曝囃議潤更悶 RECT 議峺寞 UINT uFormat //補竃鯉塀 );曾泣傍苧?
1) 泌惚 nCount 葎 -1?夸燕苧 lpString 峺?議忖憲堪頁參
'0円'潤崩議?DrawText 氏徭強柴麻忖憲方。2) 歌方 uFormat 嗤膨嶽函峙?万断辛參販吭怏栽?
- DT_CALCRECT?宸倖歌方曳熟嶷勣?辛參聞 DrawText 痕方柴麻竃補竃猟云議樫雁。泌惚補竃猟云嗤謹佩?DrawText 痕方聞喘 lpRect 協吶議裳侘議錐業?旺制婢裳侘議久何參否追補竃猟云議恷朔匯佩。泌惚補竃猟云峪嗤匯佩?夸 DrawText 痕方個延裳侘議嘔円順?參否追和屎猟佩議恷朔匯倖忖憲。竃孖貧峰販採匯嶽秤趨。
- DT_CENTER?峺協猟云邦峠肖嶄?塋勝?
- DT_VCENTER?峺協猟云換岷肖嶄?塋勝8単蠎盃市攀バ侘脹省箜?詠佩Вk窅塰譆慚誡?DT_SINGLELINE潤栽聞喘。
- DT_SINGLELINE?汽佩?塋称脹升vii愕戯融姉亰蔣鴫散椀弌?
DrawText 幣箭?
//完笥狛殻
LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam){
HDC hdc; //譜姥桟廠鞘凹
PAINTSTRUCT ps;
RECT rect;
switch (message){
//完笥紙崙嶧連
case WM_PAINT:
hdc = BeginPaint (hwnd, &ps) ;
GetClientRect (hwnd, &rect) ;
DrawText(
hdc,
TEXT("低挫?散哭栖欺C囂冱嶄猟利"),
-1,
&rect,
DT_SINGLELINE | DT_CENTER | DT_VCENTER
);
EndPaint (hwnd, &ps) ;
return 0 ;
//完笥?支嶧連
case WM_DESTROY:
PostQuitMessage(0) ;
return 0 ;
}
return DefWindowProc(hwnd, message, wParam, lParam) ;
}
塰佩潤惚?個延完笥寄弌扮?猟云氏徭強距屁了崔?匯岷侃噐完笥嶄寂。
GetClientRect 痕方喘栖資誼完笥人薩曝議恫炎?匆祥頁資誼人薩曝宸倖賞侏。
<貧匯准
和匯准>