Come posso forzare il ridimensionamento di un'applicazione ad alta risoluzione?
Fai finta che ci sia un'applicazione, che gli sviluppatori l'hanno manifestata come consapevole di alti dpi, quando in realtà non lo è. Come posso forzare il ridimensionamento dpi?
Fai finta che ci sia un'applicazione che Microsoft ha applicato lo "
HighDpiAware
" spessore di compatibilità, quando l'applicazione non lo è. Come posso forzare il ridimensionamento dpi?
Come posso forzare Windows ad applicare il ridimensionamento dpi a un'applicazione?
Modifica: che cos'è il ridimensionamento ad alto dpi?
Non tutti gli utenti eseguono Windows a 96 dpi. Non tutti i pulsanti dovrebbero essere 75x23 pixel, non tutte le barre degli strumenti sono alte 25 pixel e non ogni glifo treeview è 16x16. Se l'utente ha scelto una diversa impostazione dpi per Windows, è necessario ridimensionare tutto in modo appropriato.
Il problema è che quasi nessuno sviluppatore fa il proprio lavoro gestendo bene le impostazioni ad alto dpi. Nella migliore delle ipotesi, tutto rimarrà "della stessa dimensione", il che significa che ogni aspetto appare minuscolo . Nella peggiore delle ipotesi, le forme sono disposte in modo errato, con il testo tagliato e i controlli non visibili.
A partire da Windows Vista e sfruttando la potenza di Desktop Composition, Microsoft ha rinunciato agli sviluppatori a fare il loro lavoro e ora mentono all'applicazione. Dicono alle app che l'utente è in esecuzione a 96 dpi. Windows utilizza quindi la scheda video e Composizione desktop per ingrandire i moduli.
Pro: il contenuto del modulo avrà una buona dimensione leggibile.
Contro: tutto sarà leggermente sfocato.
Questa funzione di "ridimensionamento a dpi alti" funziona solo a discrezione dell'utente e richiede:
- Windows Vista o più recente
- Composizione desktop da abilitare
- l'utente per disattivare "Usa ridimensionamento stile Windows XP"
- l'utente non deve disabilitare il ridimensionamento per l'applicazione
Come sviluppatore, puoi disattivare il ridimensionamento ad alto dpi; se hai preso lo sforzo di scrivere correttamente la tua applicazione e sai che gestirai correttamente gli alti dpi. Esci da questo ridimensionamento aggiungendo una voce manifest al tuo eseguibile, dichiarando di essere "ad alta risoluzione dpi ".
L'argomento su come fare in modo che la tua applicazione rispetti le preferenze dell'utente (inclusi faccia del carattere, dimensione del carattere e impostazione dpi) è una domanda per stack overflow
. Come è la sintassi per la voce manifest che dichiara la tua " consapevolezza ad alto dpi ".
Questa domanda, su superutente , è come ignorare uno sviluppatore che è andato avanti e ha aggiunto una voce manifest consapevole ad alto dpi, quando in realtà l'applicazione non è consapevole ad alto dpi. Hanno detto a Windows di disabilitare il ridimensionamento, ma in realtà non hanno testato l'applicazione. Esiste un software là fuori con una voce manifest "ad alta risoluzione dpi", e ora l'applicazione è inutilizzabile sotto "caratteri grandi" (ad esempio 120 dpi).