다음을 통해 공유


WM_POINTERENTER 메시지

새 포인터가 창(가리키기)을 통해 검색 범위에 들어가거나 기존 포인터가 창의 경계 내에서 이동할 때 창으로 전송됩니다.

창은 WindowProc 함수를 통해 이 메시지를 받습니다.

! [중요]
데스크톱 앱은 DPI를 인식해야 합니다. 앱이 DPI를 인식하지 못하는 경우 DPI 가상화로 인해 포인터 메시지 및 관련 구조에 포함된 화면 좌표가 부정확해 보일 수 있습니다. DPI 가상화는 DPI를 인식하지 못하고 기본적으로 활성 상태인 애플리케이션에 대한 자동 크기 조정 지원을 제공합니다(사용자가 해제할 수 있음). 자세한 내용은 High-DPI Win32 애플리케이션 작성을 참조하세요.

#define WM_POINTERENTER                 0x0249

매개 변수

wParam

포인터 식별자 및 추가 정보를 포함합니다. wParam 매개 변수에서 특정 정보를 검색하려면 다음 매크로를 사용합니다.

  • GET_POINTERID_WPARAM(wParam): 포인터 식별자입니다.
  • IS_POINTER_NEW_WPARAM(wParam): 이 메시지가 검색 범위(가리키기)를 입력하는 새 포인터에 의해 생성된 첫 번째 메시지인지 여부를 나타냅니다.
  • IS_POINTER_INRANGE_WPARAM(wParam): 이 메시지가 검색 범위를 떠나지 않은 포인터에 의해 생성되었는지 여부를 나타냅니다. 이 플래그는 항상 WM_POINTERENTER 메시지에 대해 설정됩니다.
  • IS_POINTER_INCONTACT_WPARAM(wParam): 접촉하는 포인터에 의해 이 메시지가 생성되었는지 여부를 나타내는 플래그입니다. 검색 범위(가리키기)의 포인터에 대해 이 플래그가 설정되지 않았습니다.

lParam

포인터의 점 위치를 포함합니다.

참고

포인터가 사소한 영역을 통해 디바이스와 접촉할 수 있으므로 이 지점 위치는 더 복잡한 포인터 영역의 단순화일 수 있습니다. 가능하면 애플리케이션은 지점 위치 대신 전체 포인터 영역 정보를 사용해야 합니다.

다음 매크로를 사용하여 점의 실제 화면 좌표를 검색합니다.

반환 값

애플리케이션이 이 메시지를 처리하면 0을 반환해야 합니다.

애플리케이션이 이 메시지를 처리하지 않으면 DefWindowProc을 호출해야 합니다.

설명

창에서 WM_POINTERENTER 알림을 사용하여 포인터가 표면 위에 있는 동안 사용자에게 피드백을 제공하거나 표면에 포인터가 있는 경우 반응할 수 있습니다.

이 알림은 포인터에 대한 입력을 수신하는 창으로만 전송됩니다. 다음 표에는 이 알림이 전송되는 몇 가지 상황이 나와 있습니다.

작업 플래그 집합 보낸 알림
새 포인터가 검색 범위(가리키기)에 들어갑니다. IS_POINTER_NEW_WPARAM
IS_POINTER_INRANGE_WPARAM
포인터가 검색 범위에 들어가는 창입니다.
가리키기 포인터가 창 경계 내에서 교차합니다. IS_POINTER_INRANGE_WPARAM
포인터가 교차된 창입니다.

! [중요]
창에서 포인터 캡처가 손실되고 WM_POINTERCAPTURECHANGED 알림을 받으면 일반적으로 추가 알림을 받지 않습니다. 이러한 이유로 균등하게 쌍을 이루는 WM_POINTERDOWN WM_POINTERUP또는/ WM_POINTERENTER /WM_POINTERLEAVE알림을 기반으로 가정을 하지 않는 것이 중요합니다.

마우스 및 포인터 메시지 통합의 결과로 입력이 마우스에서 나오면 WM_POINTERENTER 전송되지 않습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2012 [데스크톱 앱만 해당]
헤더
Winuser.h(Windows.h 포함)

추가 정보

메시지

참조

GET_POINTERID_WPARAM

IS_POINTER_NEW_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM