遍匈 / windows園殻 /

Windows CreateFont?幹秀徭失議忖悶

<貧匯准 和匯准>
念中涙胎頁聞喘猟云補竃痕方珊頁 static 陣周?忖悶脅頁潮範議?曳熟鞄捉?厘断頼畠辛參徭失幹秀厚紗貪吹議忖悶。

幹秀忖悶聞喘 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 炎彈陣周。
<貧匯准 和匯准>

AltStyle によって変換されたページ (->オリジナル) /