zpráva WM_POINTERENTER
Odesláno do okna, když nový ukazatel přejde do rozsahu detekce přes okno (najetí myší) nebo když se existující ukazatel přesune v rámci hranic okna.
Okno obdrží tuto zprávu prostřednictvím funkce WindowProc.
! [Důležité]
Desktopové aplikace by měly být v rozlišení DPI. Pokud vaše aplikace nezná DPI, můžou se souřadnice obrazovky obsažené ve zprávách ukazatelů a souvisejících strukturách zobrazovat nepřesně kvůli virtualizaci DPI. Virtualizace DPI poskytuje podporu automatického škálování pro aplikace, které nepodporují DPI a jsou ve výchozím nastavení aktivní (uživatelé ho můžou vypnout). Další informace naleznete v tématu Psaní High-DPI aplikace Win32.
#define WM_POINTERENTER 0x0249
Parametry
-
wParam
-
Obsahuje identifikátor ukazatele a doplňkové informace. Pomocí následujících maker načtěte konkrétní informace v parametru wParam.
- GET_POINTERID_WPARAM(wParam): identifikátor ukazatele.
- IS_POINTER_NEW_WPARAM(wParam): označuje, jestli je tato zpráva první zprávou vygenerovanou novým ukazatelem, který zadává rozsah detekce (najeďte myší).
- IS_POINTER_INRANGE_WPARAM(wParam): označuje, zda byla tato zpráva generována ukazatelem, který nemá levou oblast detekce. Tento příznak je vždy nastavený pro WM_POINTERENTER zprávy.
- IS_POINTER_INCONTACT_WPARAM(wParam): Příznak označující, jestli byla tato zpráva generována ukazatelem, který je v kontaktu. Tento příznak není nastavený pro ukazatel v oblasti detekce (najetí myší).
-
lParam
-
Obsahuje umístění bodu ukazatele.
Poznámka
Vzhledem k tomu, že ukazatel může spojit se zařízením přes nesouvisenou oblast, může být toto umístění bodu zjednodušením složitější oblasti ukazatele. Kdykoli je to možné, aplikace by měla místo umístění bodu použít úplné informace o oblasti ukazatele.
Pomocí následujících maker načtěte souřadnice fyzické obrazovky bodu.
- GET_X_LPARAM(lParam): souřadnice x (vodorovný bod).
- GET_Y_LPARAM(lParam): souřadnice y (svislý bod).
Návratová hodnota
Pokud aplikace tuto zprávu zpracuje, měla by vrátit nulu.
Pokud aplikace tuto zprávu nezpracuje, měla by volat DefWindowProc.
Poznámky
Oznámení WM_POINTERENTER může okno použít k poskytnutí zpětné vazby uživateli, když je ukazatel nad jeho povrchem nebo jinak reagovat na přítomnost ukazatele na jeho povrchu.
Toto oznámení se odešle pouze do okna, které přijímá vstup pro ukazatel. V následující tabulce jsou uvedeny některé situace, ve kterých se toto oznámení odesílá.
Akce | Sada příznaků | Oznámení odeslaná na |
---|---|---|
Nový ukazatel zadá oblast detekce (najetí myší). |
IS_POINTER_NEW_WPARAM IS_POINTER_INRANGE_WPARAM |
Okno, přes které ukazatel přejde do rozsahu detekce |
Ukazatel při najetí myší se protíná v rámci hranic okna. |
IS_POINTER_INRANGE_WPARAM |
Okno, ve kterém se ukazatel překříží. |
! [Důležité]
Když okno ztratí zachycení ukazatele a obdrží oznámení WM_POINTERCAPTURECHANGED, obvykle neobdrží žádná další oznámení. Z tohoto důvodu je důležité, abyste neprováděli žádné předpoklady na základě rovnoměrně spárovaných WM_POINTERDOWN/WM_POINTERUP nebo WM_POINTERENTER/WM_POINTERLEAVE oznámení.
Pokud vstupy pocházejí z myši v důsledku integrace zprávy myši a ukazatele, WM_POINTERENTER se neodesílají.
Požadavky
Požadavek | Hodnota |
---|---|
Minimální podporovaný klient |
Windows 8 [pouze desktopové aplikace] |
Minimální podporovaný server |
Windows Server 2012 [jenom desktopové aplikace] |
Záhlaví |
|