enumeração DPI_AWARENESS (windef.h)
Identifica a configuração de pontos por polegada (dpi) para um thread, processo ou janela.
Syntax
typedef enum DPI_AWARENESS {
DPI_AWARENESS_INVALID = -1,
DPI_AWARENESS_UNAWARE = 0,
DPI_AWARENESS_SYSTEM_AWARE = 1,
DPI_AWARENESS_PER_MONITOR_AWARE = 2
} ;
Constantes
DPI_AWARENESS_INVALID Valor: -1 Reconhecimento de DPI inválido. Esse é um valor de reconhecimento de DPI inválido. |
DPI_AWARENESS_UNAWARE Valor: 0 DPI sem conhecimento. Esse processo não é dimensionado para alterações de DPI e sempre se supõe ter um fator de escala de 100% (96 DPI). Ele será dimensionado automaticamente pelo sistema em qualquer outra configuração de DPI. |
DPI_AWARENESS_SYSTEM_AWARE Valor: 1 Reconhecimento de DPI do sistema. Esse processo não é dimensionado para alterações de DPI. Ele consultará o DPI uma vez e usará esse valor para o tempo de vida do processo. Se o DPI for alterado, o processo não será ajustado para o novo valor de DPI. Ele será dimensionado ou reduzido automaticamente pelo sistema quando o DPI for alterado do valor do sistema. |
DPI_AWARENESS_PER_MONITOR_AWARE Valor: 2 Reconhecimento de DPI por monitor. Esse processo verifica o DPI quando ele é criado e ajusta o fator de escala sempre que o DPI é alterado. Esses processos não são dimensionados automaticamente pelo sistema. |
Comentários
Nas versões anteriores do Windows, os valores de DPI só eram definidos uma vez para um aplicativo inteiro. Para esses aplicativos, o tipo PROCESS_DPI_AWARENESS determinou o tipo de reconhecimento de DPI para todo o aplicativo. Atualmente, o reconhecimento de DPI é definido em um thread individual, janela ou nível de processo e é indicado pelo tipo DPI_AWARENESS . Embora o foco tenha mudado de um nível de processo para um nível de thread, os diferentes tipos de reconhecimento de DPI são os mesmos: sem reconhecimento, com reconhecimento do sistema e por monitor. Para obter descrições detalhadas e alguns exemplos dos diferentes tipos de DPI, consulte PROCESS_DPI_AWARENESS.
A recomendação antiga era definir o nível de reconhecimento de DPI no manifesto do aplicativo usando a configuração dpiAware , conforme explicado em PROCESS_DPI_AWARENESS. Agora que o reconhecimento de DPI está vinculado a threads e janelas em vez de um aplicativo inteiro, uma nova configuração do Windows é adicionada ao manifesto do aplicativo. Essa configuração é dpiAwareness e substituirá qualquer configuração dpiAware se ambas estiverem presentes no manifesto. Embora ainda seja recomendável usar o manifesto, agora você pode alterar o reconhecimento de DPI enquanto o aplicativo está em execução usando SetThreadDpiAwarenessContext.
É importante observar que, se o aplicativo tiver uma janela DPI_AWARENESS_PER_MONITOR_AWARE , você será responsável por acompanhar a DPI respondendo a mensagens WM_DPICHANGED .
Exemplos
Este snippet demonstra como definir um valor de DPI_AWARENESS_SYSTEM_AWARE no manifesto do aplicativo.
<dpiAwareness>System</dpiAwareness>
Este snippet demonstra como definir um valor de DPI_AWARENESS_PER_MONITOR_AWARE no manifesto do aplicativo.
<dpiAwareness>PerMonitor</dpiAwareness>
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Nenhum compatível |
Cabeçalho | windef.h |