Как изменить шрифт кнопки, созданной с помощью CreateWindow? Все контролы, которые я создаю в окне, имеют один и тот же жирный шрифт, его можно поменять? Я вот тут думал, может существуют какие-то библиотеки для создания интерфейса, типа MFC. Киньте, пожалуйста, ссилочку на какую-то прикольную
Напишу вкратце. Делаешь константу (в RadAsm удобно) Courier_New_24 LOGFONT <-32,0,0,0,700,-1,0,0,0,3,2,1,49,"Courier New] ->Вызываешь CreateFontIndirect -> SendMessage(WM_SETFONT) -> DeleteObject (после работы)
Посмотри библеотеку которую я сделал для кнопок и меню. В разделе проекты, есть тема XXControls. Там для кнопок можно задавать много стилей.
0. Параметры функции создания шрифта и размерность их (MSDN) HFONT CreateFont( int nHeight, // height of font int nWidth, // average character width int nEscapement, // angle of escapement int nOrientation, // base-line orientation angle int fnWeight, // font weight DWORD fdwItalic, // italic attribute option DWORD fdwUnderline, // underline attribute option DWORD fdwStrikeOut, // strikeout attribute option DWORD fdwCharSet, // character set identifier DWORD fdwOutputPrecision, // output precision DWORD fdwClipPrecision, // clipping precision DWORD fdwQuality, // output quality DWORD fdwPitchAndFamily, // pitch and family LPCTSTR lpszFace // typeface name ); 1. создание шрифта HFONT f1; f1=CreateFont( 14, 5, // nWidth 0, // nEscapement 0, // nOrientation FW_NORMAL, // nWeight 0, // bItalic 0, // bUnderline 0, // cStrikeOut RUSSIAN_CHARSET, // nCharSet OUT_DEFAULT_PRECIS, // nOutPrecision CLIP_DEFAULT_PRECIS, // nClipPrecision DEFAULT_QUALITY, // nQuality DEFAULT_PITCH | FF_ROMAN, // nPitchAndFamily "Microsoft Sans Serif"); 2. Установка шрифта в контроле: SendMessage(hWndPrefTab,WM_SETFONT,(long)f1,1); Здесь: HFONT - DWORD hWndPrefTab - HWND окна, в котором шрифт меняешь FW_NORMAL - 400 RUSSIAN_CHARSET - 204 OUT_DEFAULT_PRECIS - 0 CLIP_DEFAULT_PRECIS - 0 DEFAULT_QUALITY - 0 DEFAULT_PITCH - 0 FF_ROMAN - 16