Freigeben über


WM_GETDPISCALEDSIZE-Nachricht

Diese Nachricht teilt dem Betriebssystem mit, dass das Fenster auf andere Dimensionen als die Standardgröße angepasst wird.

Diese Nachricht wird an Fenster der obersten Ebene mit dem Wert „Per Monitor v2“ für DPI_AWARENESS_CONTEXT gesendet, bevor eine WM_DPICHANGED-Nachricht gesendet wird, sodass das Fenster die gewünschte Größe für die anstehende DPI-Änderung berechnen kann. Da die lineare DPI-Skalierung das Standardverhalten ist, ist dies nur in Szenarien hilfreich, in denen das Fenster nicht linear skaliert werden soll. Wenn die Anwendung auf diese Nachricht antwortet, ist die resultierende Größe das Kandidatenrechteck, das an WM_DPICHANGED gesendet wird.

Verwenden Sie diese Nachricht, um die Größe des Rechtecks zu ändern, das mit WM_DPICHANGED bereitgestellt wird.

#define WM_GETDPISCALEDSIZE       0x02E4

Parameter

wParam

WPARAM enthält einen DPI-Wert. Die skalierte Fenstergröße, die die Anwendung festlegt, muss so berechnet werden, als ob das Fenster zu diesem DPI-Wert wechseln würde.

lParam

LPARAM ist ein In-/Out-Zeiger auf eine SIZE-Struktur. Der Wert „_In_“ in LPARAM ist die anstehende Größe des Fensters nach einer vom Benutzer bzw. der Benutzerin initiierten Verschiebung oder einem Aufruf von SetWindowPos. Wenn die Größe des Fensters geändert wird, entspricht diese nicht unbedingt der aktuellen Größe des Fensters zum Zeitpunkt des Empfangs dieser Nachricht.

Der Wert „_Out_“ in LPARAM sollte von der Anwendung geschrieben werden, um die gewünschte skalierte Fenstergröße anzugeben, die dem bereitgestellten DPI-Wert in WPARAM entspricht.

Rückgabewert

Die Funktion gibt einen BOOL-Wert zurück. Durch Zurückgeben von TRUE wird angegeben, dass eine neue Größe berechnet wurde. Durch Zurückgeben von FALSE wird angegeben, dass die Nachricht nicht behandelt und die standardmäßige lineare DPI-Skalierung wird auf das Fenster angewandt wird.

Hinweise

Diese Nachricht wird nur an Fenster der obersten Ebene gesendet, die über den DPI-Sensibilisierungskontext „Per Monitor v2“ verfügen.

Dieses Ereignis ist erforderlich, um die nicht lineare Skalierung zu vereinfachen, und stellt sicher, dass die Position der Fenster in Beziehung zum Mauszeiger und beim Bewegen zwischen Monitoren konstant ist.

In DefWindowProc gibt es keine Standardbehandlung für diese Nachricht. Wie bei allen Nachrichten, die nicht explizit behandelt werden, gibt DefWindowProc für diese Nachricht null zurück. Wie oben erwähnt, teilt dieser Rückgabewert dem System mit, das lineare Standardverhalten zu verwenden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 10, Version 1703 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2016 [nur Desktop-Apps]
Header
Winuser.h