WM_POINTERLEAVE meddelande
Skickas till ett fönster när en pekare lämnar identifieringsintervallet över fönstret (hovra) eller när en pekare flyttas utanför fönstrets gränser.
Ett fönster tar emot det här meddelandet via funktionen WindowProc.
! [Viktigt]
Skrivbordsappar bör vara DPI-medvetna. Om din app inte är DPI-medveten kan skärmkoordinater i pekarmeddelanden och relaterade strukturer verka felaktiga på grund av DPI-virtualisering. DPI-virtualisering ger stöd för automatisk skalning till program som inte är DPI-medvetna och som är aktiva som standard (användarna kan inaktivera den). Mer information finns i Writing High-DPI Win32 Applications.
#define WM_POINTERLEAVE 0x024A
Parametrar
-
wParam
-
Innehåller pekaridentifieraren och ytterligare information. Använd följande makron för att hämta den här informationen.
- GET_POINTERID_WPARAM(wParam): pekaridentifieraren.
- IS_POINTER_INRANGE_WPARAM(wParam): anger om det här meddelandet genererades av en pekare som inte har lämnat identifieringsintervallet. Den här flaggan anges inte när pekaren lämnar fönstrets identifieringsområde.
- IS_POINTER_INCONTACT_WPARAM(wParam): en flagga som anger om det här meddelandet genererades av en pekare som är i kontakt. Den här flaggan har inte angetts för en pekare i identifieringsintervallet (hovring).
-
lParam
-
Innehåller pekarens punktplats.
Not
Eftersom pekaren kan komma i kontakt med enheten över ett icke-trivialt område kan den här punktplatsen vara en förenkling av ett mer komplext pekarområde. När det är möjligt bör ett program använda fullständig information om pekarområdet i stället för punktplatsen.
Använd följande makron för att hämta punktens fysiska skärmkoordinater.
- GET_X_LPARAM(lParam): koordinaten x (vågrät punkt).
- GET_Y_LPARAM(lParam): koordinaten y (lodrät punkt).
Returvärde
Om ett program bearbetar det här meddelandet ska det returnera noll.
Om programmet inte bearbetar det här meddelandet bör det anropa DefWindowProc.
Anmärkningar
Meddelandet WM_POINTERLEAVE kan användas av ett fönster för att ändra läge eller stoppa feedback till användaren medan pekaren är över fönsterytan.
Det här meddelandet skickas endast till fönstret som tar emot indata för pekaren. I följande tabell visas några av de situationer då det här meddelandet skickas.
Handling | Uppsättning flaggor | Meddelanden som skickas till |
---|---|---|
En hovringspekare korsar fönstergränserna. | IS_POINTER_INRANGE_WPARAM | Fönster utanför vars gräns pekaren flyttades. |
En pekare hamnar utom detekteringsintervallet. | Ej tillämpligt | Fönster där pekaren lämnar identifieringsintervallet. |
! [Viktigt]
När ett fönster förlorar avbildningen av en pekare och det tar emot WM_POINTERCAPTURECHANGED-meddelandet, får det vanligtvis inga ytterligare meddelanden. Därför är det viktigt att du inte gör några antaganden baserat på jämnt kopplade WM_POINTERDOWN/WM_POINTERUP eller WM_POINTERENTER/WM_POINTERLEAVE meddelanden.
Om kontakten underhålls med indatas digitaliseraren och pekaren flyttas utanför fönstret genereras inte WM_POINTERLEAVE. WM_POINTERLEAVE genereras endast när en hovringspekare korsar fönstergränser eller kontakt avslutas.
WM_POINTERLEAVE publiceras i den publicerade meddelandekön om indata kommer från en musenhet.
Krav
Krav | Värde |
---|---|
Lägsta klient som stöds |
Windows 8 [endast skrivbordsappar] |
Lägsta server som stöds |
Windows Server 2012 [endast skrivbordsappar] |
Rubrik |
|