Mensagem de WM_GETDPISCALEDSIZE
Essa mensagem informa ao sistema operacional que a janela será dimensionada para dimensões diferentes do padrão.
Essa mensagem é enviada para janelas de nível superior com um DPI_AWARENESS_CONTEXT de Per Monitor v2 antes que uma mensagem de WM_DPICHANGEDseja enviada e permite que a janela compute o tamanho desejado para a alteração de DPI pendente. Como o dimensionamento linear de DPI é o comportamento padrão, isso só é útil em cenários em que a janela deseja dimensionar não linearmente. Se o aplicativo responder a essa mensagem, o tamanho resultante será o retângulo candidato enviado para WM_DPICHANGED.
Use esta mensagem para alterar o tamanho do rect fornecido com WM_DPICHANGED.
#define WM_GETDPISCALEDSIZE 0x02E4
Parâmetros
-
wParam
-
O WPARAM contém um valor de DPI. O tamanho da janela dimensionada que o aplicativo definiria precisa ser computado como se a janela fosse alternar para esse DPI.
-
lParam
-
O LPARAM é um ponteiro de entrada/saída para um struct SIZE. O valor _In_ no LPARAM é o tamanho pendente da janela após uma movimentação iniciada pelo usuário ou uma chamada para SetWindowPos. Se a janela estiver sendo redimensionada, esse tamanho não será necessariamente o mesmo que o tamanho atual da janela no momento em que essa mensagem é recebida.
O valor _Out_ na LPARAM deve ser gravado pelo aplicativo para especificar o tamanho de janela dimensionado desejado correspondente ao valor de DPI fornecido no WPARAM.
Valor retornado
A função retorna um BOOL. Retornar TRUE indica que um novo tamanho foi computado. Retornar FALSE indica que a mensagem não será tratada e o dimensionamento de DPI linear padrão será aplicado à janela.
Comentários
Essa mensagem é enviada apenas para janelas de nível superior que têm um contexto de reconhecimento de DPI de Per Monitor v2.
Esse evento é necessário para facilitar o dimensionamento não linear normal e garante que a posição das janelas permaneça constante em relação ao cursor e ao mover para frente e para trás entre monitores.
Não há nenhum tratamento padrão específico dessa mensagem no DefWindowProc. Quanto a todas as mensagens que ele não manipula explicitamente, DefWindowProc retornará zero para essa mensagem. Conforme observado acima, esse retorno informa ao sistema para usar o comportamento linear padrão.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 10, versão 1703 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte |
Windows Server 2016 [somente aplicativos da área de trabalho] |
Cabeçalho |
|