WM_POINTERENTER üzenet
Egy ablakba küldve, amikor egy új mutató észlelési tartományba lép az ablak felett (rámutatás), vagy ha egy meglévő mutató az ablak határain belü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_POINTERENTER 0x0249
Paraméterek
-
wParam
-
A mutatóazonosítót és az additonális adatokat tartalmazza. A wParam paraméterben az alábbi makrók segítségével kérdezhet le konkrét információkat.
- GET_POINTERID_WPARAM(wParam): a mutató azonosítója.
- IS_POINTER_NEW_WPARAM(wParam): azt jelzi, hogy ez-e az első üzenet, amelyet egy új mutató hoz létre az észlelési tartományba (rámutatás).
- 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ő mindig WM_POINTERENTER üzenetekhez van beállítva.
- 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.
- GET_X_LPARAM(lParam): az x (vízszintes pont) koordinátája.
- GET_Y_LPARAM(lParam): az y (függőleges pont) koordinátája.
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_POINTERENTER-értesítést egy ablak felhasználhatja arra, hogy visszajelzést küldjön a felhasználónak, miközben az egérmutató a felszínén van, vagy más módon reagál a mutató jelenlétére a felszínén.
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 |
---|---|---|
Egy új mutató beírja az észlelési tartományt (rámutatás). |
IS_POINTER_NEW_WPARAM IS_POINTER_INRANGE_WPARAM |
Az ablak, amelyre a mutató beírja az észlelési tartományt. |
Az egérmutató az ablakhatárok között keresztezi az egérmutatót. |
IS_POINTER_INRANGE_WPARAM |
Ablak, amelyen belül az egérmutató kereszteződött. |
! [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 bemenetek az egérről érkeznek, az egér és a mutató üzenetének integrációja miatt a rendszer nem küldi el a WM_POINTERENTER.
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 |
|