Partager via


Message WM_GETDPISCALEDSIZE

Ce message indique au système d’exploitation que les dimensions de la fenêtre seront différentes des dimensions par défaut.

Ce message est envoyé à des fenêtres de niveau supérieur avec une DPI_AWARENESS_CONTEXT de Per Monitor v2 avant l’envoi d’un message WM_DPICHANGED, et permet à la fenêtre de calculer sa taille souhaitée pour la modification DPI en attente. Comme le comportement par défaut est la mise à l’échelle PPP linéaire, cela est utile uniquement dans les scénarios où la fenêtre veut se mettre à l’échelle de manière non-linéaire. Si l’application répond à ce message, la taille résultante sera le rectangle candidat envoyé à WM_DPICHANGED.

Utilisez ce message pour modifier la taille du rect fourni avec WM_DPICHANGED.

#define WM_GETDPISCALEDSIZE       0x02E4

Paramètres

wParam

Le WPARAM contient une valeur ppp. La taille de la fenêtre mise à l’échelle définie par l’application doit être calculée comme si la fenêtre devait basculer vers ce ppp.

lParam

Le LPARAM est un pointeur d’entrée/sortie vers une structure SIZE. La valeur _In_ du LPARAM est la taille en attente de la fenêtre après un déplacement initié par l’utilisateur ou un appel à SetWindowPos. Si la fenêtre est en cours de redimensionnement, cette taille n’est pas nécessairement la même que la taille actuelle de la fenêtre au moment de la réception de ce message.

La valeur _Out_ du LPARAM doit être écrite par l’application pour spécifier la taille de fenêtre mise à l’échelle souhaitée correspondant à la valeur ppp fournie dans WPARAM.

Valeur retournée

La fonction retourne un BOOL. Le renvoi de TRUE indique qu’une nouvelle taille a été calculée. Le renvoi de FALSE indique que le message ne sera pas traité et que la mise à l’échelle linéaire par défaut du ppp s’appliquera à la fenêtre.

Notes

Ce message est uniquement envoyé aux fenêtres de niveau supérieur dont le contexte de prise en charge du ppp est Per Monitor v2.

Cet événement est nécessaire pour faciliter la mise à l’échelle non linéaire appropriée et garantit que la position des fenêtres reste constante en relation par rapport au curseur et lors des déplacements d’un moniteur à l’autre.

Il n’y a pas de traitement spécifique par défaut de ce message dans DefWindowProc. Comme pour tous les messages qu’il ne gère pas explicitement, DefWindowProc retourne zéro pour ce message. Comme indiqué ci-dessus, ce retour indique au système d’utiliser le comportement linéaire par défaut.

Spécifications

Condition requise Value
Client minimal pris en charge
Windows 10, version 1703 [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2016 (applications de bureau uniquement)
En-tête
Winuser.h