Mensaje WM_GETDPISCALEDSIZE
Este mensaje indica al sistema operativo que la ventana tendrá 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 WM_DPICHANGED y permite que la ventana calcule su tamaño deseado para el cambio de PPP pendiente. Como el ajuste de PPP lineal es el comportamiento predeterminado, esto solo es útil en escenarios en los que se quiere que la ventana escale 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 del rectángulo 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 de 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 será necesariamente el mismo que el tamaño 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 un valor booleano. Si devuelve TRUE, indica que se ha calculado un nuevo tamaño. Si devuelve FALSE, indica que el mensaje no se controlará y el ajuste de PPP lineal predeterminado se aplicará a la ventana.
Comentarios
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 ajuste no lineal correcto y garantiza que la posición de las ventanas permanezca constante en relación con el cursor y cuando se mueva 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 |
---|---|
Cliente mínimo compatible |
Windows 10, versión 1703 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2016 [solo aplicaciones de escritorio] |
Encabezado |
|