Необходимо найти вас, если пользователь использует увеличенный размер шрифта 125% или 150% в win 7
-
27-10-2019 - |
Вопрос
Кто-нибудь знает, могу ли я где-нибудь проверить этот параметр?
Решение
Вы можете прочитать сгенерировать кодовый код , чтобы узнать об этом.
Умножьте Graphics.DpiX
на 100 и разделите на 96, и вы получите процентное масштабирование шрифта.Это правда, потому что 100% масштабирование шрифта соответствует 96 dpi.
Обратите внимание: если ваше приложение не отмечено как С учетом DPI , тогда, когда пользователь устанавливает масштабирование шрифта на 150%, свойство Graphics.DpiX
сообщит о 96. Я не знаю, помечены ли стандартные приложения WinForms как поддерживающие разрешение DPI.
Другие советы
Если вы не используете C #, вам нужно сделать два шага, чтобы это работало в Windows 7.
Во-первых, настройте свое приложение на DPI. В этом блоге объясняется, как это сделать.Это включает в себя либо изменение манифеста вашего приложения, либо вызов SetProcessDPIAware () (которая может существовать, а может и не существовать).
Затем получите значения DPI X / Y с помощью GetDeviceCaps(hdc, LOGPIXELSX)
и GetDeviceCaps(hdc, LOGPIXELSY)
соответственно, как описано в эта статья MSDN .
У меня есть приложение, которое ранее не поддерживало DPI, но по-прежнему не работало при использовании с масштабированием текста (как это доступно в панели управления Windows 7 «Дисплей»), и это заставило его работать, но не повлияло на Windows 8или новее.