Системный шрифт диалога по умолчанию?
Шрифт диалогового окна по умолчанию в Windows - MS Shell Dlg.
Мне это не нравится, потому что это не правильно.
Легко вручную изменить шрифт отдельного элемента диалога, но как отобразить диалоговое окно с "правильным" системным шрифтом ( из lfMessageFont
) применяется ко всем элементам управления по умолчанию (не вручную) при вызове DialogBox
(или используя ATL/WTL)?
Замечания:
Причина, по которой я столько раз говорил " не вручную ", в том, что я ищу решение лучше, чем перебирать все с EnumChildWindows
(или т.п). Один существует?
1 ответ
Из диалоговых окон:
Системный шрифт может отличаться в разных версиях Windows. Чтобы ваше приложение использовало системный шрифт независимо от того, на какой системе оно работает, используйте DS_SHELLFONT с гарнитурой MS Shell Dlg и используйте ресурс DIALOGEX вместо ресурса DIALOG. Система отображает этот шрифт так, что в вашем диалоговом окне будет использоваться шрифт Tahoma. Обратите внимание, что DS_SHELLFONT не действует, если гарнитура не MS Shell Dlg.
Я думаю, что это то, что вы хотите. Если это не сработает, то, я думаю, вам придется загрузить ресурс вручную и изменить шаблон, прежде чем передавать его в DialogBox.