enumerazione DPI_AWARENESS (windef.h)
Identifica l'impostazione punti per pollice (dpi) per un thread, un processo o una finestra.
Sintassi
typedef enum DPI_AWARENESS {
DPI_AWARENESS_INVALID = -1,
DPI_AWARENESS_UNAWARE = 0,
DPI_AWARENESS_SYSTEM_AWARE = 1,
DPI_AWARENESS_PER_MONITOR_AWARE = 2
} ;
Costanti
DPI_AWARENESS_INVALID Valore: -1 Consapevolezza DPI non valida. Si tratta di un valore di consapevolezza DPI non valido. |
DPI_AWARENESS_UNAWARE Valore: 0 DPI inconsapevoli. Questo processo non ridimensiona le modifiche dpi e si presuppone sempre di avere un fattore di scala pari al 100% (96 DPI). Verrà ridimensionato automaticamente dal sistema in qualsiasi altra impostazione DPI. |
DPI_AWARENESS_SYSTEM_AWARE Valore: 1 DPI di sistema a conoscenza. Questo processo non viene ridimensionato per le modifiche dpi. Eseguirà una query per il valore DPI una sola volta e userà tale valore per la durata del processo. Se la dpi cambia, il processo non verrà modificato per il nuovo valore DPI. Verrà automaticamente ridimensionato o ridotto dal sistema quando il valore DPI cambia dal valore di sistema. |
DPI_AWARENESS_PER_MONITOR_AWARE Valore: 2 Per monitoraggio DPI consapevole. Questo processo verifica la presenza di DPI quando viene creato e modifica il fattore di scala ogni volta che cambia il valore DPI. Questi processi non vengono ridimensionati automaticamente dal sistema. |
Commenti
Nelle versioni precedenti di Windows, i valori DPI sono stati impostati una sola volta per un'intera applicazione. Per queste app, il tipo di PROCESS_DPI_AWARENESS ha determinato il tipo di consapevolezza DPI per l'intera applicazione. Attualmente, la consapevolezza DPI è definita in un singolo thread, finestra o livello di processo e viene indicato dal tipo di DPI_AWARENESS . Mentre lo stato attivo è stato spostato da un livello di processo a un livello di thread, i diversi tipi di consapevolezza DPI sono gli stessi: inconsapevoli, consapevoli del sistema e per monitoraggio. Per descrizioni dettagliate e alcuni esempi dei diversi tipi di DPI, vedere PROCESS_DPI_AWARENESS.
Il vecchio consiglio era quello di definire il livello di consapevolezza DPI nel manifesto dell'applicazione usando l'impostazione dpiAware come illustrato in PROCESS_DPI_AWARENESS. Ora che la consapevolezza DPI è associata a thread e finestre anziché a un'intera applicazione, viene aggiunta una nuova impostazione di windows al manifesto dell'app. Questa impostazione è dpiAwareness e eseguirà l'override di qualsiasi impostazione dpiAware se entrambe sono presenti nel manifesto. Anche se è ancora consigliabile usare il manifesto, è ora possibile modificare la consapevolezza DPI mentre l'app è in esecuzione usando SetThreadDpiAwarenessContext.
È importante notare che se l'applicazione ha una finestra di DPI_AWARENESS_PER_MONITOR_AWARE , è responsabile di tenere traccia del valore DPI rispondendo ai messaggi WM_DPICHANGED.
Esempio
Questo frammento di codice illustra come impostare un valore di DPI_AWARENESS_SYSTEM_AWARE nel manifesto dell'applicazione.
<dpiAwareness>System</dpiAwareness>
Questo frammento di codice illustra come impostare un valore di DPI_AWARENESS_PER_MONITOR_AWARE nel manifesto dell'applicazione.
<dpiAwareness>PerMonitor</dpiAwareness>
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 [solo app desktop] |
Server minimo supportato | Nessuno supportato |
Intestazione | windef.h |