Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Wysłane do okna, gdy nowy wskaźnik przechodzi do zakresu wykrywania w oknie (zatrzymaj wskaźnik) lub gdy istniejący wskaźnik porusza się w granicach okna.
Okno odbiera ten komunikat za pośrednictwem funkcji WindowProc.
! [Ważne]
Aplikacje klasyczne powinny mieć świadomość DPI. Jeśli aplikacja nie rozpozna dpi, współrzędne ekranu zawarte w komunikatach wskaźnika i powiązanych strukturach mogą wydawać się niedokładne z powodu wirtualizacji DPI. Wirtualizacja DPI zapewnia automatyczną obsługę skalowania dla aplikacji, które nie obsługują dpi i są domyślnie aktywne (użytkownicy mogą ją wyłączyć). Aby uzyskać więcej informacji, zobacz Pisanie aplikacji win32 High-DPI.
#define WM_POINTERENTER 0x0249
Parametry
-
wParam
-
Zawiera identyfikator wskaźnika i informacje dodatkowe. Użyj poniższych makr, aby pobrać określone informacje w parametrze wParam.
- GET_POINTERID_WPARAM(wParam): identyfikator wskaźnika.
- IS_POINTER_NEW_WPARAM(wParam): wskazuje, czy ten komunikat jest pierwszym komunikatem wygenerowanym przez nowy wskaźnik wprowadzający zakres wykrywania (zatrzymaj wskaźnik).
- IS_POINTER_INRANGE_WPARAM(wParam): wskazuje, czy ten komunikat został wygenerowany przez wskaźnik, który nie pozostawił zakresu wykrywania. Ta flaga jest zawsze ustawiana dla komunikatów WM_POINTERENTER.
- IS_POINTER_INCONTACT_WPARAM(wParam): flaga wskazująca, czy ten komunikat został wygenerowany przez wskaźnik, który znajduje się w kontakcie. Ta flaga nie jest ustawiona dla wskaźnika w zakresie wykrywania (zatrzymaj wskaźnik).
-
lParam
-
Zawiera lokalizację punktu wskaźnika.
Nuta
Ponieważ wskaźnik może nawiązać kontakt z urządzeniem w obszarze innym niż trywialny, lokalizacja punktu może być uproszczeniem bardziej złożonego obszaru wskaźnika. Jeśli to możliwe, aplikacja powinna używać pełnych informacji o obszarze wskaźnika zamiast lokalizacji punktu.
Użyj poniższych makr, aby pobrać współrzędne ekranu fizycznego punktu.
- GET_X_LPARAM(lParam): współrzędna x (punkt poziomy).
- GET_Y_LPARAM(lParam): współrzędna y (punkt pionowy).
Wartość zwracana
Jeśli aplikacja przetwarza ten komunikat, powinna zwrócić zero.
Jeśli aplikacja nie przetworzy tego komunikatu, powinna wywołać DefWindowProc.
Uwagi
Powiadomienie WM_POINTERENTER może być używane przez okno do przekazywania opinii użytkownikowi, gdy wskaźnik znajduje się na jego powierzchni lub w inny sposób reagować na obecność wskaźnika na powierzchni.
To powiadomienie jest wysyłane tylko do okna odbierającego dane wejściowe wskaźnika. W poniższej tabeli wymieniono niektóre sytuacje, w których to powiadomienie jest wysyłane.
| Akcja | Zestaw flag | Powiadomienia wysłane do |
|---|---|---|
| Nowy wskaźnik wprowadza zakres wykrywania (zatrzymanie wskaźnika). |
IS_POINTER_NEW_WPARAM IS_POINTER_INRANGE_WPARAM |
Okno, w którym wskaźnik przechodzi do zakresu wykrywania. |
| Wskaźnik aktywujący przekracza granice okna. |
IS_POINTER_INRANGE_WPARAM |
Okno, w którym wskaźnik został skrzyżowany. |
! [Ważne]
Gdy okno utraci przechwycenie wskaźnika i otrzyma powiadomienie o WM_POINTERCAPTURECHANGED, zwykle nie będzie otrzymywać żadnych dalszych powiadomień. Z tego powodu ważne jest, aby nie wprowadzać żadnych założeń w oparciu o parowane równomiernie WM_POINTERDOWN/WM_POINTERUP lub powiadomienia WM_POINTERENTER/WM_POINTERLEAVE.
Gdy dane wejściowe pochodzą z myszy, w wyniku integracji komunikatów myszy i wskaźnika WM_POINTERENTER nie są wysyłane.
Wymagania
| Wymaganie | Wartość |
|---|---|
| Minimalny obsługiwany klient |
Windows 8 [tylko aplikacje klasyczne] |
| Minimalny obsługiwany serwer |
Windows Server 2012 [tylko aplikacje klasyczne] |
| Nagłówek |
|