Freigeben über


WM_POINTERENTER-Meldung

Wird an ein Fenster gesendet, wenn ein neuer Zeiger in den Erkennungsbereich über das Fenster wechselt (mit dem Mauszeiger zeigen) oder wenn sich ein vorhandener Zeiger innerhalb der Begrenzungen des Fensters bewegt.

Ein Fenster empfängt diese Nachricht über seine WindowProc-Funktion .

![Wichtig]
Desktop-Apps sollten DPI-fähig sein. Wenn Ihre App nicht DPI-fähig ist, können bildschirmkoordinaten, die in Zeigernachrichten und verwandten Strukturen enthalten sind, aufgrund der DPI-Virtualisierung ungenau erscheinen. Die DPI-Virtualisierung bietet automatische Skalierungsunterstützung für Anwendungen, die nicht DPI-fähig sind 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_POINTERENTER                 0x0249

Parameter

wParam

Enthält den Zeigerbezeichner und zusätzliche Informationen. Verwenden Sie die folgenden Makros, um bestimmte Informationen im wParam-Parameter abzurufen.

  • GET_POINTERID_WPARAM(wParam): Der Zeigerbezeichner.
  • IS_POINTER_NEW_WPARAM(wParam): Gibt an, ob es sich bei dieser Nachricht um die erste Nachricht handelt, die von einem neuen Zeiger generiert wird, der in den Erkennungsbereich (mit dem Mauszeiger) eintritt.
  • IS_POINTER_INRANGE_WPARAM(wParam): Gibt an, ob diese Nachricht von einem Zeiger generiert wurde, der den Erkennungsbereich nicht verlassen hat. Dieses Flag wird immer für WM_POINTERENTER Nachrichten festgelegt.
  • IS_POINTER_INCONTACT_WPARAM(wParam): Ein Flag, das angibt, ob diese Nachricht von einem Zeiger generiert wurde, der sich in Kontakt befindet. Dieses Flag ist für einen Zeiger im Erkennungsbereich nicht festgelegt (zeigen Sie mit dem Mauszeiger).

lParam

Enthält die Punktposition des Zeigers.

Hinweis

Da der Zeiger möglicherweise über einen nicht trivialen Bereich Kontakt mit dem Gerät aufnehmen kann, kann dieser Punktstandort eine Vereinfachung eines komplexeren Zeigerbereichs darstellen. Wenn möglich, sollte eine Anwendung die vollständigen Zeigerbereichsinformationen anstelle der Punktposition verwenden.

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

Rückgabewert

Wenn eine Anwendung diese Nachricht verarbeitet, sollte sie null zurückgeben.

Wenn die Anwendung diese Nachricht nicht verarbeitet, sollte sie DefWindowProc aufrufen.

Bemerkungen

Die WM_POINTERENTER Benachrichtigung kann von einem Fenster verwendet werden, um dem Benutzer Feedback zu geben, während sich der Zeiger über seiner Oberfläche befindet, oder um anderweitig auf das Vorhandensein eines Zeigers über seiner Oberfläche zu reagieren.

Diese Benachrichtigung wird nur an das Fenster gesendet, das eingaben für den Zeiger empfängt. In der folgenden Tabelle sind einige Der Situationen aufgeführt, in denen diese Benachrichtigung gesendet wird.

Aktion Flags Set An gesendete Benachrichtigungen
Ein neuer Zeiger wechselt in den Erkennungsbereich (zeigen Sie mit dem Mauszeiger). IS_POINTER_NEW_WPARAM
IS_POINTER_INRANGE_WPARAM
Fenster, über das der Zeiger in den Erkennungsbereich wechselt.
Ein zeigender Zeiger überschreitet die Fenstergrenzen. IS_POINTER_INRANGE_WPARAM
Fenster, in dem der Zeiger gekreuzt wurde.

![Wichtig]
Wenn ein Fenster die Erfassung eines Zeigers verliert und die WM_POINTERCAPTURECHANGED Benachrichtigung empfängt, erhält es in der Regel keine weiteren Benachrichtigungen. Aus diesem Grund ist es wichtig, dass Sie keine Annahmen basierend auf gleichmäßig gekoppelten WM_POINTERDOWN/WM_POINTERUP oder WM_POINTERENTER/WM_POINTERLEAVE Benachrichtigungen treffen.

Wenn Eingaben von der Maus stammen, wird aufgrund der Integration von Maus- und Zeigernachrichten WM_POINTERENTER nicht gesendet.

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

Referenz

GET_POINTERID_WPARAM

IS_POINTER_NEW_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM