Я создал приложение, которое отлично работает, пока пользователь не выберет 125% или 150%. Это нарушит мое выражение. Позже я нашел способ найти размер шрифта, обнаружив DPI.
Это работало отлично, пока люди с китайскими версиями Windows 7 не начали использовать мое приложение. Все приложение разбивается на китайские окна 7. Из того, что я могу сказать (я не могу его проверить, потому что у меня только английская версия и установка языковых пакетов не вызывает проблемы). Китайские символы вызывают странный DPI, который ломает мое приложение.
мой текущий код работает следующим образом:
if (dpi.DpiX == 120) //For 125% fonts
{
//Resize form and set default font to correct problems
}
else if (dpi.DpiX == 96) //For 100 and 150% fonts
{
//Resize form and set default font to correct problems
}
В английских версиях Windows 7, которые отлично работают, но как-то китайские версии проскакивают прямо, и форма уничтожает себя, причем элементы управления даже не отображаются, шрифт чрезвычайно большой и проталкивает проблему, а коробки изображений перемещаются.
Итак, что такое хороший способ определить масштаб шрифта Windows (100%, 125% и 150%) без обнаружения API? Мне нужно что-то твердое, которое будет работать на всех операционных системах и языках Windows 7.