Delen via


WM_POINTERLEAVE bericht

Verzonden naar een venster wanneer een aanwijzer het detectiebereik over het venster verlaat (aanwijzer) of wanneer een aanwijzer buiten de grenzen van het venster wordt verplaatst.

Een venster ontvangt dit bericht via de functie WindowProc.

! [Belangrijk]
Desktop-apps moeten DPI-bewust zijn. Als uw app geen DPI-kennis heeft, kunnen schermcoördinaten in aanwijzerberichten en gerelateerde structuren onnauwkeurig lijken vanwege DPI-virtualisatie. DPI-virtualisatie biedt ondersteuning voor automatisch schalen voor toepassingen die niet dpi-bewust zijn en die standaard actief zijn (gebruikers kunnen deze uitschakelen). Zie Writing High-DPI Win32 Applicationsvoor meer informatie.

#define WM_POINTERLEAVE                 0x024A

Parameters

wParam-

Bevat de aanwijzer-id en aanvullende informatie. Gebruik de volgende macro's om deze informatie op te halen.

  • GET_POINTERID_WPARAM(wParam): de aanwijzer-id.
  • IS_POINTER_INRANGE_WPARAM(wParam): geeft aan of dit bericht is gegenereerd door een aanwijzer die geen detectiebereik heeft verlaten. Deze vlag is niet ingesteld wanneer de aanwijzer het detectiebereik van het venster verlaat.
  • IS_POINTER_INCONTACT_WPARAM(wParam): een vlag die aangeeft of dit bericht is gegenereerd door een aanwijzer die in contact is. Deze vlag is niet ingesteld voor een aanwijzer in het detectiebereik (hover).

lParam-

Bevat de puntlocatie van de aanwijzer.

Notitie

Omdat de aanwijzer contact kan maken met het apparaat via een niet-triviaal gebied, kan deze puntlocatie een vereenvoudiging zijn van een complexer puntgebied. Indien mogelijk moet een toepassing de volledige informatie over het aanwijzergebied gebruiken in plaats van de puntlocatie.

Gebruik de volgende macro's om de fysieke schermcoördinaten van het punt op te halen.

Retourwaarde

Als een toepassing dit bericht verwerkt, moet het nul retourneren.

Als dit bericht niet door de toepassing wordt verwerkt, moet deze DefWindowProc-aanroepen.

Opmerkingen

De WM_POINTERLEAVE melding kan door een venster worden gebruikt om de modus te wijzigen of feedback aan de gebruiker te stoppen terwijl de aanwijzer zich boven het vensteroppervlak bevindt.

Deze melding wordt alleen verzonden naar het venster dat invoer voor de aanwijzer ontvangt. De volgende tabel bevat enkele situaties waarin deze melding wordt verzonden.

Actie Markeringen ingesteld Meldingen verzonden naar
Met een aanwijsfunctie worden venstergrenzen overschreden. IS_POINTER_INRANGE_WPARAM Venster buiten de grens waarvan de aanwijzer is verplaatst.
Een aanwijzer valt buiten het detectiebereik. N.V.T Venster waarvoor de aanwijzer het detectiebereik verlaat.

! [Belangrijk]
Wanneer een venster de opname van een aanwijzer verliest en de melding WM_POINTERCAPTURECHANGED ontvangt, ontvangt het meestal geen verdere meldingen. Daarom is het belangrijk dat u geen veronderstellingen maakt op basis van gelijkmatig gekoppelde WM_POINTERDOWN/WM_POINTERUP of WM_POINTERENTER/WM_POINTERLEAVE meldingen.

Als het contact wordt onderhouden met de invoerdigiter en de aanwijzer buiten het venster wordt verplaatst, wordt WM_POINTERLEAVE niet gegenereerd. WM_POINTERLEAVE wordt alleen gegenereerd wanneer een aanwijzer de venstergrenzen overschrijdt of de contactpersoon wordt beëindigd.

WM_POINTERLEAVE wordt geplaatst in de geplaatste berichtenwachtrij als de invoer afkomstig is van een muisapparaat.

Eisen

Eis Waarde
Minimaal ondersteunde client
Windows 8 [alleen desktop-apps]
Minimaal ondersteunde server
Windows Server 2012 [alleen desktop-apps]
Rubriek
Winuser.h (inclusief Windows.h)

Zie ook

berichten

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM