Ho creato un'applicazione che funziona perfettamente finché l'utente non seleziona il 125% o il 150%. Romperebbe la mia domanda. In seguito ho trovato un modo per trovare la dimensione del carattere rilevando il DPI.Rileva dimensioni carattere Windows (100%, 125%, 150%)
Questo funzionava benissimo finché le persone con versioni cinesi di Windows 7 hanno iniziato a utilizzare la mia applicazione. L'intera applicazione si interrompe sulle finestre cinesi 7. Da quello che posso dire (non posso davvero provarlo perché ho solo la versione inglese e l'installazione dei language pack non causa il problema) I caratteri cinesi stanno causando uno strano DPI che infrange la mia applicazione.
il mio codice attuale funziona così:
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
}
Nelle versioni in inglese di Windows 7 che funziona grande, ma le versioni in qualche modo cinesi saltare proprio da questo, e la forma stessa distrugge, con i controlli nemmeno presentarsi, il carattere è estremamente grande e supera il problema, spostando le caselle di immagine.
Quindi, qual è un buon modo per rilevare la scala dei caratteri di Windows (100%, 125% e 150%) senza rilevare l'API? Ho bisogno di qualcosa di solido che funzioni su tutti i sistemi operativi e le lingue di Windows 7.
Stavo digitando molto velocemente e ho fatto alcuni errori di ortografia. Volevo dire "DPI" non "API". Scusa –
Quello che descrivi sembra molto più un problema con il driver video e/o i font installati ... – Yahia
Solo suggession: se hai un serio utilizzo di client cinesi, vale la pena investire del tempo per creare almeno 'VirtualMachine' per 'VirtualBox' o' VmWare', quindi puoi testare la tua app su di essa con la fedeltà più fedele al sistema operativo reale, come è possibile. – Tigran