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

Confira também

PROCESS_DPI_AWARENESS

SetThreadDpiAwarenessContext