Stworzyłem aplikację, która działa idealnie, dopóki użytkownik nie wybierze 125% lub 150%. Przerwałoby to moją aplikację. Później znalazłem sposób na znalezienie rozmiaru czcionki, wykrywając DPI.Wykryj rozmiar czcionki w oknach (100%, 125%, 150%)
To działało świetnie, dopóki ludzie z chińskimi wersjami systemu Windows 7 nie zaczęli używać mojej aplikacji. Cała aplikacja łamie się w chińskich oknach 7. Z tego co mogę powiedzieć (nie mogę tego przetestować, bo mam tylko angielską wersję i instalacja pakietów językowych nie powoduje problemu) Chińskie znaki powodują dziwne DPI, które przerywa moją aplikację.
mój bieżący kod działa tak:
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
}
na angielskiej wersji systemu Windows 7, który działa świetnie, ale jakoś chińskie wersje pominąć prawo przez to, a forma niszczy się, ze sterowaniem nawet nie pokazuje się, Czcionka bardzo duża i przesuwająca się obok problemu, przesuwając ramki z obrazkami.
Jaki jest więc dobry sposób na wykrycie skali czcionek systemu Windows (100%, 125% i 150%) bez wykrywania interfejsu API? Potrzebuję czegoś solidnego, które zadziała na wszystkich systemach operacyjnych Windows i językach.
Pisałem bardzo szybko i popełniłem kilka błędów w pisowni. Chciałem powiedzieć "DPI", a nie "API". Przepraszam –
To, co opisujesz, brzmi bardziej jak problem ze sterownikiem wideo i/lub zainstalowanymi czcionkami ... – Yahia
Tylko sugestia: jeśli masz poważny zapas chińskich klientów, warto zainwestować trochę czasu, aby stworzyć przynajmniej "VirtualMachine" dla 'VirtualBox' lub' VmWare', dzięki czemu możesz przetestować na nim aplikację z jak najbliższą autentycznością, jak to tylko możliwe. – Tigran