Sdílet prostřednictvím


zpráva WM_POINTERLEAVE

Odesláno do okna, když ukazatel opustí rozsah detekce nad oknem (najetí myší) nebo když se ukazatel přesune mimo hranice 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_POINTERLEAVE                 0x024A

Parametry

wParam

Obsahuje identifikátor ukazatele a další informace. K načtení těchto informací použijte následující makra.

  • GET_POINTERID_WPARAM(wParam): identifikátor ukazatele.
  • IS_POINTER_INRANGE_WPARAM(wParam): označuje, zda byla tato zpráva generována ukazatelem, který nemá levou oblast detekce. Tento příznak není nastaven, když ukazatel opustí rozsah detekce okna.
  • 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.

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_POINTERLEAVE může okno použít ke změně režimu nebo zastavení zpětné vazby uživateli, když je ukazatel myši nad povrchem okna.

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
Ukazatel myši překračuje hranice okna. IS_POINTER_INRANGE_WPARAM Okno mimo hranici ukazatele se přesunulo.
Ukazatel zmizí z rozsahu detekce. Není k dispozici Okno, pro které ukazatel opustí rozsah detekce.

! [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 je kontakt udržován se vstupním digitizátorem a ukazatel se přesune mimo okno, WM_POINTERLEAVE se negeneruje. WM_POINTERLEAVE se vygeneruje pouze v případě, že ukazatel myši překročí hranice okna nebo kontakt je ukončen.

WM_POINTERLEAVE se publikuje do publikované fronty zpráv, pokud vstup pochází ze zařízení myši.

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í
Winuser.h (včetně Windows.h)

Viz také

zprávy

referenční

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM