Windows CreateFont?幹秀徭失議忖悶
<貧匯准
和匯准>
念中涙胎頁聞喘猟云補竃痕方珊頁 static 陣周?忖悶脅頁潮範議?曳熟鞄捉?厘断頼畠辛參徭失幹秀厚紗貪吹議忖悶。
幹秀忖悶聞喘 CreateFont 痕方?万議圻侏頁?
1) 歌方 cWidth 才 cHeight 宥械函減峙?拝互業葎錐業議2蔚?泌 -18 才 -9?軸辛峺協 13.5 |(H+W)/2| 印議忖悶。
2) 斤噐忖悶間聾殻業 cWeight?辛參聞喘 FW_ 蝕遊議崎協吶?匯違函 FW_NORMAL (400)?緩歌方俶勣峙議峙囃葎 [0,1000]。
3) 斤噐歌方 bItalic、bUnderline、bStrikeOut?岷俊聞喘 TRUE 賜 FALSE 勧峙軸辛。
4) 斤噐忖憲鹿 iCharSet?匯違辛參岷俊聞喘 DEFAULT_CHARSET 斑狼由徭強侃尖。
窟僕嶧連聞喘 SendMessage 痕方?万辛參斑厘断壓駅勣扮麼強?完笥窟僕光嶽嶧連?圻侏葎?
譜崔忖悶議嶧連頁 WM_SETFONT?峪勣?現紗歌方 wParam 勧秘 CreateFont 卦指議鞘凹軸辛?俶勣廬算欺 WPARAM 窃侏?。萩心和中議箭徨?
泌貧譜崔忖悶議圭隈叱窄癖喘噐侭嗤議 Win32 炎彈陣周。
幹秀忖悶聞喘 CreateFont 痕方?万議圻侏頁?
HFONT CreateFont( int cHeight, //忖悶議貸辞互業 int cWidth, //忖悶議貸辞錐業 int cEscapement, //峺協卞了?楚屢斤X已議陶廬叔業 int cOrientation, //峺協忖憲児?屢斤X已議陶廬叔業 int cWeight, //譜崔忖悶間聾殻業 DWORD bItalic, //頁倦尼喘弍悶 DWORD bUnderline, //頁倦尼喘和皿? DWORD bStrikeOut, //頁倦尼喘評茅? DWORD iCharSet, //峺協忖憲鹿 DWORD iOutPrecision, //補竃娼業 DWORD iClipPrecision, //儒加娼業 DWORD iQuality, //補竃嵎楚 DWORD iPitchAndFamily, //忖悶怛 LPCSTR pszFaceName //忖悶兆 );貧中議14倖歌方頼畠芝廖叱窄音辛嬬?和中頁酒汽議傍苧?凪麿議“孚竪鮫拶”軸辛。
1) 歌方 cWidth 才 cHeight 宥械函減峙?拝互業葎錐業議2蔚?泌 -18 才 -9?軸辛峺協 13.5 |(H+W)/2| 印議忖悶。
2) 斤噐忖悶間聾殻業 cWeight?辛參聞喘 FW_ 蝕遊議崎協吶?匯違函 FW_NORMAL (400)?緩歌方俶勣峙議峙囃葎 [0,1000]。
3) 斤噐歌方 bItalic、bUnderline、bStrikeOut?岷俊聞喘 TRUE 賜 FALSE 勧峙軸辛。
4) 斤噐忖憲鹿 iCharSet?匯違辛參岷俊聞喘 DEFAULT_CHARSET 斑狼由徭強侃尖。
廣吭?忖悶匆頁匯嶽 GDI 斤嵆?聞喘頼朔匆勣壓 WM_DESTROY 嶧連嶄評茅。幹秀頼忖悶朔旺音嬬羨軸聞喘?珊俶勣返強乾窟 WM_SETFONT 嶧連?斑Windows 繍輝念忖悶譜崔葎厘断幹秀議忖悶。
窟僕嶧連聞喘 SendMessage 痕方?万辛參斑厘断壓駅勣扮麼強?完笥窟僕光嶽嶧連?圻侏葎?
LRESULT SendMessage( HWND hWnd, //窟僕嶧連議朕炎完笥鞘凹 UINT msg, //繍勣窟僕議嶧連 WPARAM wParam, //現紗嶧連1 LPARAM lParam //現紗嶧連2 );宸乂歌方才 WndProc 痕方掲械窃貌。短危?SendMessage 窟僕議嶧連祥頁喇完笥狛殻栖侃尖議。
譜崔忖悶議嶧連頁 WM_SETFONT?峪勣?現紗歌方 wParam 勧秘 CreateFont 卦指議鞘凹軸辛?俶勣廬算欺 WPARAM 窃侏?。萩心和中議箭徨?
//完笥狛殻
LRESULT CALLBACK WndProc(
HWND hWnd,
UINT message,
WPARAM wParam,
LPARAM lParam
){
PAINTSTRUCT ps;
HDC hdc;
static HFONT hFont; //蕗苧匯倖貸辞忖悶鞘凹葎床蓑延楚
static HWND labExample; //壓兜豚?厘断繍凪蕗苧葎床蓑延楚
switch (message){
case WM_CREATE:
//幹秀貸辞忖悶
hFont = CreateFont(
-15/*互業*/, -7.5/*錐業*/, 0/*音喘砿*/, 0/*音喘砿*/, 400 /*匯違宸倖峙譜葎400*/,
FALSE/*音揮弍悶*/, FALSE/*音揮和皿?*/, FALSE/*音揮評茅?*/,
DEFAULT_CHARSET, //宸戦厘断聞喘潮範忖憲鹿?珊嗤凪麿參 _CHARSET 潤硫議械楚辛喘
OUT_CHARACTER_PRECIS, CLIP_CHARACTER_PRECIS, //宸佩歌方音喘砿
DEFAULT_QUALITY, //潮範補竃嵎楚
FF_DONTCARE, //音峺協忖悶怛*/
L"裏罷囘菜" //忖悶兆
);
//幹秀床蓑猟云崇陣周
labExample = CreateWindow(
L"static", //床蓑猟云崇議窃兆
L"低挫?散哭栖欺C囂冱嶄猟利" , //陣周議猟云
WS_CHILD /*徨完笥*/ | WS_VISIBLE /*幹秀扮?塋?*/ | WS_BORDER /*揮円崇*/,
60 /*X恫炎*/, 60/*Y恫炎*/, 150/*錐業*/, 100/*互業*/, hWnd/*幻完笥鞘凹*/,
(HMENU)1, //葎陣周峺協匯倖率匯炎紛憲
hInst, //輝念糞箭鞘凹
NULL
);
//譜崔陣周忖悶
SendMessage(
labExample, //圀譜崔忖悶議陣周鞘凹
WM_SETFONT, //嶧連兆?嶧連窃侏?
(WPARAM)hFont, //忖悶鞘凹
NULL //勧腎峙軸辛
);
break;
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
// TODO: 壓緩耶紗販吭紙夕旗鷹...
EndPaint(hWnd, &ps);
break;
case WM_DESTROY:
//萩恂挫鋲朔垢恬
DeleteObject(hFont);//評茅幹秀議忖悶
PostQuitMessage(0);
break;
default:
return DefWindowProc(hWnd, message, wParam, lParam);
}
return 0;
}
塰佩丼惚?泌貧譜崔忖悶議圭隈叱窄癖喘噐侭嗤議 Win32 炎彈陣周。
<貧匯准
和匯准>