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

Vedi anche

PROCESS_DPI_AWARENESS

SetThreadDpiAwarenessContext