Я создал приложение, которое отлично работает, пока пользователь не выберет 125% или 150%. Это сломало бы мое заявление. Позже я нашел способ найти размер шрифта, обнаружив DPI.
Это прекрасно работало, пока люди с китайскими версиями Windows 7 не начали использовать мое приложение. Все приложение ломается на китайской Windows 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%) без определения DPI? Мне нужно что-то твердое, что будет работать на всех операционных системах и языках Windows 7.