Megosztás a következőn keresztül:


WM_POINTERLEAVE üzenet

Egy ablakba küldve, ha egy mutató az észlelési tartományt az ablak felett hagyja (rámutatás), vagy amikor egy mutató az ablak határain kívülre kerül.

Az ablak a WindowProc függvényen keresztül kapja meg ezt az üzenetet.

! [Fontos]
Az asztali alkalmazásoknak tisztában kell lenniük a DPI-vel. Ha az alkalmazás nem tud a DPI-ről, a mutatóüzenetekben és a kapcsolódó struktúrákban található képernyőkoordináták pontatlannak tűnhetnek a DPI virtualizálása miatt. A DPI virtualizálás automatikus skálázási támogatást nyújt az olyan alkalmazások számára, amelyek nem ismerik a DPI-t, és alapértelmezés szerint aktívak (a felhasználók kikapcsolhatják). További információ: High-DPI Win32-alkalmazások írása.

#define WM_POINTERLEAVE                 0x024A

Paraméterek

wParam

A mutatóazonosítót és a további információkat tartalmazza. Az alábbi makrók segítségével lekérheti ezeket az információkat.

  • GET_POINTERID_WPARAM(wParam): a mutató azonosítója.
  • IS_POINTER_INRANGE_WPARAM(wParam): azt jelzi, hogy az üzenetet olyan mutató hozta-e létre, amely nem hagyta el az észlelési tartományt. Ez a jelző nincs beállítva, ha a mutató elhagyja az ablak észlelési tartományát.
  • IS_POINTER_INCONTACT_WPARAM(wParam): egy jelző, amely jelzi, hogy az üzenetet egy kapcsolattartó mutató hozta-e létre. Ez a jelző nincs beállítva a mutatóhoz az észlelési tartományban (rámutatás).

lParam

A mutató ponthelyét tartalmazza.

Jegyzet

Mivel az egérmutató nem triviális területen érintkezhet az eszközzel, ez a ponthely egy összetettebb mutatóterület egyszerűsítése lehet. Amikor csak lehetséges, az alkalmazásnak a pont helye helyett a teljes mutatóterület-információt kell használnia.

A pont fizikai képernyőkoordinátáinak lekéréséhez használja az alábbi makrókat.

Visszaadott érték

Ha egy alkalmazás feldolgozza ezt az üzenetet, nullát kell visszaadnia.

Ha az alkalmazás nem dolgozza fel ezt az üzenetet, hívja meg DefWindowProc.

Megjegyzések

Az WM_POINTERLEAVE értesítéssel az ablak módosíthatja a módot, vagy leállíthatja a felhasználónak küldött visszajelzéseket, miközben az egérmutató az ablakfelületen van.

Ezt az értesítést csak arra az ablakra küldi a rendszer, amely bemenetet kap a mutatóhoz. Az alábbi táblázat felsorol néhány olyan helyzetet, amelyben ezt az értesítést küldi.

Akció Jelölőkészlet Címzett értesítések
Az egérmutató átlépi az ablakhatárokat. IS_POINTER_INRANGE_WPARAM Azon az ablakon kívül, amelynek a szegélyén az egérmutató elmozdult.
A mutató túllépi az észlelési tartományt. N/A Az ablak, amelynek a mutatója elhagyja az észlelési tartományt.

! [Fontos]
Ha egy ablak elveszíti a mutató rögzítését, és megkapja a WM_POINTERCAPTURECHANGED értesítést, általában nem kap további értesítéseket. Ezért fontos, hogy ne tegyen feltételezéseket egyenletesen párosított WM_POINTERDOWN/WM_POINTERUP vagy WM_POINTERENTER/WM_POINTERLEAVE értesítések alapján.

Ha a bemeneti digitalizálóval tartja fenn a kapcsolatot, és a mutató az ablakon kívülre kerül, a WM_POINTERLEAVE nem jön létre. WM_POINTERLEAVE csak akkor jön létre, ha egy rámutató mutató átlépi az ablakhatárokat, vagy a kapcsolat megszakad.

WM_POINTERLEAVE akkor lesz közzétéve a közzétett üzenetsorba, ha a bemenet egéreszközről származik.

Követelmények

Követelmény Érték
Minimálisan támogatott ügyfél
Windows 8 [csak asztali alkalmazások]
Minimálisan támogatott kiszolgáló
Windows Server 2012 [csak asztali alkalmazások]
Fejléc
Winuser.h (a Windows.h is)

Lásd még:

Üzenetek

referencia

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM