Шрифты диалогового окна
Система использует среднюю ширину символа шрифта диалогового окна, чтобы вычислить его позицию и размеры. По умолчанию, система рисует весь текст в диалоговом окне, используя шрифт SYSTEM_FONT.
Чтобы определить другой шрифт для блока диалога, а не по умолчанию, Вы должны создать диалоговое окно, используя его шаблон. В ресурсе шаблона используйте оператор FONT. В шаблоне диалогового окна, установите стиль DS_SETFONT или DS_SHELLFONT и задайте размер в пунктах и имя гарнитуры шрифта. Даже если шаблон диалогового окна устанавливает шрифт этим способом, система всегда использует системный шрифт для заголовка и меню блока диалога.
Когда блок диалога имеет стиль DS_SETFONT или DS_SHELLFONT, система отправляет процедуре диалогового окна и каждому органу управления сообщение WM_SETFONT, когда она создает орган управления. Процедура диалогового окна ответственна за сохранение дескриптора шрифта при передаче сообщения WM_SETFONT и за выбор дескриптора в дисплейном контексте устройства всегда, когда она записывает текст в окне. Предопределенные органы управления делают это по умолчанию.
Microsoft ® Windows ® 2000/Windows XP: системный шрифт может различаться у различных версий Windows. Чтобы ваше приложение могло использовать системный шрифт независимо от того какая система его исполняет, используйте DS_SHELLFONT с гарнитурой шрифта MS Shell Dlg, и используйте ресурс DIALOGEX вместо ресурса DIALOG. Система преобразует данные этой гарнитуры шрифта так, что ваше диалоговое окно будет использовать шрифт Tahoma в среде Windows 2000/Windows XP, а шрифт MS Sans Serif в более ранних системах.
Обратите внимание! на то, что DS_SHELLFONT не имеет никакого влияния, если гарнитура шрифта - не MS Shell Dlg. |