Compartir a través de


mensaje de WM_GETDPISCALEDSIZE

Este mensaje indica al sistema operativo que la ventana tendrá el tamaño de las dimensiones distintas del valor predeterminado.

Este mensaje se envía a las ventanas de nivel superior con un DPI_AWARENESS_CONTEXT de Per Monitor v2 antes de enviar un mensaje de WM_DPICHANGED y permite que la ventana calcule su tamaño deseado para el cambio de PPP pendiente. Como el escalado de PPP lineal es el comportamiento predeterminado, esto solo es útil en escenarios en los que la ventana quiere escalar de forma no lineal. Si la aplicación responde a este mensaje, el tamaño resultante será el rectángulo candidato enviado a WM_DPICHANGED.

Use este mensaje para modificar el tamaño de la rect que se proporciona con WM_DPICHANGED.

#define WM_GETDPISCALEDSIZE       0x02E4

Parámetros

wParam

WPARAM contiene un valor de PPP. El tamaño de ventana escalado que la aplicación establecería debe calcularse como si la ventana cambiara a este PPP.

lParam

LPARAM es un puntero dentro y fuera a una estructura SIZE. El valor _In_ del LPARAM es el tamaño pendiente de la ventana después de un movimiento iniciado por el usuario o una llamada a SetWindowPos. Si se cambia el tamaño de la ventana, este tamaño no es necesariamente el mismo que el tamaño actual de la ventana en el momento en que se recibe este mensaje.

La aplicación debe escribir el valor _Out_ en el LPARAM para especificar el tamaño de ventana escalado deseado correspondiente al valor de PPP proporcionado en WPARAM.

Valor devuelto

La función devuelve una BOOL. Devolver TRUE indica que se ha calculado un nuevo tamaño. Devolver FALSE indica que el mensaje no se controlará y el escalado de PPP lineal predeterminado se aplicará a la ventana.

Observaciones

Este mensaje solo se envía a las ventanas de nivel superior que tienen un contexto de reconocimiento de PPP de Per Monitor v2.

Este evento es necesario para facilitar el escalado no lineal correcto y garantiza que la posición de las ventanas permanece constante en relación con el cursor y cuando se mueve hacia atrás y hacia delante a través de monitores.

No hay ningún control predeterminado específico de este mensaje en DefWindowProc. En cuanto a todos los mensajes que no controla explícitamente, DefWindowProc devolverá cero para este mensaje. Como se indicó anteriormente, esta devolución indica al sistema que use el comportamiento lineal predeterminado.

Requisitos

Requisito Valor
Mínima versión de cliente admitida
Windows 10, versión 1703 [solo aplicaciones de escritorio]
Servidor mínimo admitido
Windows Server 2016 [solo aplicaciones de escritorio]
Cabecera
Winuser.h