WM_PARENTNOTIFY-Meldung

Wird an ein Fenster gesendet, wenn eine signifikante Aktion in einem untergeordneten Fenster auftritt. Diese Meldung wird jetzt erweitert, um das WM_POINTERDOWN-Ereignis einzuschließen. Wenn das untergeordnete Fenster erstellt wird, sendet das System WM_PARENTNOTIFY direkt vor der CreateWindow-Funktion oder der CreateWindowEx--Funktion, die das Fenster zurückgibt. Wenn das untergeordnete Fenster zerstört wird, sendet das System die Meldung, bevor eine Verarbeitung zum Zerstören des Fensters stattfindet.

Ein Fenster empfängt diese Meldung über die WindowProc-Funktion.

![Wichtig]
Desktop-Apps sollten DPI-Werte beachten. Wenn Ihre App keine DPI-Werte erkennt, können Bildschirmkoordinaten, die in Zeigermeldungen und verwandten Strukturen enthalten sind, aufgrund der DPI-Virtualisierung ungenau wirken. Die DPI-Virtualisierung bietet automatische Skalierungsunterstützung für Apps, die nicht DPI-fähig und standardmäßig aktiv sind (Benutzer können sie deaktivieren). Weitere Informationen finden Sie unter Schreiben von Win32-Anwendungen mit hohem DPI-Wert.

#define WM_PARENTNOTIFY             0x0210

Parameter

wParam

Das Wort mit niedriger Reihenfolge von wParam gibt das Ereignis an, für das das übergeordnete Element benachrichtigt wird. Der Wert des Worts mit hoher Reihenfolge hängt vom Wert des Worts mit niedriger Reihenfolge ab. Dieser Parameter kann einen der folgenden Werte annehmen.

LOWORD(wParam) Bedeutung
WM_CREATE
0x0001
Das untergeordnete Fenster wird erstellt.
HIWORD(wParam) ist der Bezeichner des untergeordneten Fensters.
lParam ist ein Ziehpunkt für das untergeordnete Fenster.
WM_DESTROY
0x0002
Das untergeordnete Fenster wird zerstört.
HIWORD(wParam) ist der Bezeichner des untergeordneten Fensters.
lParam ist ein Ziehpunkt für das untergeordnete Fenster.
WM_LBUTTONDOWN
0x0201
Der Benutzer hat den Cursor über das untergeordnete Fenster platziert und mit der linken Maustaste geklickt.
HIWORD(wParam) ist nicht definiert.
lParam ist die x-Koordinate des Cursors, das Wort mit niedriger Reihenfolge, und die y-Koordinate des Cursors ist das Wort mit hoher Reihenfolge.
WM_MBUTTONDOWN
0x0207
Der Benutzer hat den Cursor über das untergeordnete Fenster platziert und auf die mittlere Maustaste geklickt.
HIWORD(wParam) ist nicht definiert.
lParam ist die x-Koordinate des Cursors, das Wort mit niedriger Reihenfolge, und die y-Koordinate des Cursors ist das Wort mit hoher Reihenfolge.
WM_RBUTTONDOWN
0x0204
Der Benutzer hat den Cursor über das untergeordnete Fenster platziert und mit der rechten Maustaste geklickt.
HIWORD(wParam) ist nicht definiert.
lParam ist die x-Koordinate des Cursors, das Wort mit niedriger Reihenfolge, und die y-Koordinate des Cursors ist das Wort mit hoher Reihenfolge.
WM_XBUTTONDOWN
0x020B
Der Benutzer hat den Cursor über das untergeordnete Fenster platziert und auf die erste oder zweite X-Schaltfläche geklickt.
HIWORD(wParam) gibt an, welche Schaltfläche gedrückt wurde. Dieser Parameter kann einer der folgenden Werte sein: XBUTTON1 oder XBUTTON2.
lParam ist die x-Koordinate des Cursors, das Wort mit niedriger Reihenfolge, und die y-Koordinate des Cursors ist das Wort mit hoher Reihenfolge.
WM_POINTERDOWN
0x0246
Ein Zeiger hat Kontakt mit dem untergeordneten Fenster hergestellt.
HIWORD(wParam) enthält den Bezeichner des Zeigers, der das WM_POINTERDOWN-Ereignis generiert hat.

lParam

Enthält die Punktposition des Zeigers.

Hinweis

Da der Zeiger den Kontakt mit dem Gerät möglicherweise über einen nicht trivialen Bereich herstellt, kann diese Punktposition eine Vereinfachung eines komplexeren Zeigerbereichs sein. Wann immer möglich, sollte eine Anwendung anstelle der Punktposition die vollständigen Informationen des Zeigerbereichs verwenden.

Verwenden Sie die folgenden Makros, um die physischen Bildschirmkoordinaten des Punkts abzurufen.

  • GET_X_LPARAM(lParam): die X-Koordinate (horizontaler Punkt).
  • GET_Y_LPARAM(lParam): die Y-Koordinate (vertikaler Punkt).

Rückgabewert

Wenn die Anwendung diese Meldung verarbeitet, wird Null zurückgegeben.

Wenn die Anwendung diese Meldung nicht verarbeitet, ruft sie DefWindowProc auf.

Hinweise

Diese Nachricht wird auch an alle übergeordneten Fenster des untergeordneten Fensters gesendet, einschließlich des Fensters der obersten Ebene.

Alle untergeordneten Fenster, mit Ausnahme von Fenstern mit dem erweiterten WS_EX_NOPARENTNOTIFY-Fensterformat, senden Sie diese Meldung an die übergeordneten Fenster. Standardmäßig weisen untergeordnete Fenster in einem Dialogfeld die WS_EX_NOPARENTNOTIFY-Formatvorlage auf, es sei denn, die CreateWindowEx-Funktion wird aufgerufen, um das untergeordnete Fenster ohne diese Formatvorlage zu erstellen.

Diese Benachrichtigung bietet den Vorgängerfenstern des untergeordneten Fensters die Möglichkeit, die Zeigerinformationen zu untersuchen und bei Bedarf den Zeiger mithilfe der Zeigererfassungsfunktionen zu erfassen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2012 [nur Desktop-Apps]
Header
Winuser.h (einschließlich Windows.h)

Siehe auch

Meldungen

CreateWindow

CreateWindowEx

HIWORD

LOWORD

WM_CREATE

WM_DESTROY

WM_LBUTTONDOWN

WM_MBUTTONDOWN

WM_RBUTTONDOWN

WM_XBUTTONDOWN