Как масштабировать размеры шрифта на основе текущих настроек DPI в приложениях VC ++ / MFC? - PullRequest
2 голосов
/ 25 июля 2011

Как масштабировать размеры шрифта на основе текущих настроек DPI в приложениях VC ++ / MFC?

На данный момент, когда я изменяю DPI со 100% до 150%, размеры шрифта остаются прежними, хотя значки уменьшаются в зависимости от текущего значения dpi.

Пожалуйста, предложите лучший способ решения вышеуказанной проблемы.

Ответы [ 3 ]

4 голосов
/ 25 июля 2011

В Windows Vista и 7 ОС пытается скрыть DPI от вашей программы и вносит коррективы за кулисы.Если вы хотите, чтобы ваша программа правильно реагировала на изменения DPI, вы должны следовать указаниям Microsoft под названием Создание приложения с поддержкой DPI .

2 голосов
/ 25 июля 2011

Не используйте DPI для масштабирования шрифта.Вместо этого используйте параметры, настроенные пользователем в разделе «Внешний вид» панели управления.

Возможно, вы также захотите сделать размер шрифта настраиваемым только для вашего приложения.

2 голосов
/ 25 июля 2011

Указав размеры текста и управления в DLU.Это происходит по умолчанию, поэтому я предполагаю, что вы генерируете диалоги динамически или из памяти DLGTEMPLATE.Если вы, вы (извините за мой французский) облажались, потому что вам придётся копаться с преобразованием DLU в пиксели, очень болезненный и утомительный процесс.Прочитайте следующие статьи базы знаний:

...