Compartir a través de


mensaje de WM_POINTERLEAVE

Se envía a una ventana cuando un puntero deja el intervalo de detección sobre la ventana (mantener el puntero) o cuando un puntero se mueve fuera de los límites de la ventana.

Una ventana recibe este mensaje a través de su función windowProc .

! [Importante]
Las aplicaciones de escritorio deben tener en cuenta ppp. Si la aplicación no es compatible con PPP, las coordenadas de pantalla contenidas en los mensajes de puntero y las estructuras relacionadas pueden parecer inexactas debido a la virtualización de PPP. La virtualización de PPP proporciona compatibilidad de escalado automático con aplicaciones que no son compatibles con PPP y que están activas de forma predeterminada (los usuarios pueden desactivarla). Para obtener más información, vea Escritura de High-DPI Aplicaciones Win32.

#define WM_POINTERLEAVE                 0x024A

Parámetros

wParam

Contiene el identificador de puntero y la información adicional. Use las siguientes macros para recuperar esta información.

  • GET_POINTERID_WPARAM(wParam): el identificador del puntero.
  • IS_POINTER_INRANGE_WPARAM(wParam): indica si este mensaje lo generó un puntero que no tiene un intervalo de detección izquierdo. Esta marca no se establece cuando el puntero deja el intervalo de detección de la ventana.
  • IS_POINTER_INCONTACT_WPARAM(wParam): una marca que indica si un puntero que está en contacto generó este mensaje. Esta marca no está establecida para un puntero en el intervalo de detección (mantener el puntero).

lParam

Contiene la ubicación de punto del puntero.

Nota

Dado que el puntero puede establecer contacto con el dispositivo sobre un área no trivial, esta ubicación de punto puede ser una simplificación de un área de puntero más compleja. Siempre que sea posible, una aplicación debe usar la información completa del área de puntero en lugar de la ubicación del punto.

Use las macros siguientes para recuperar las coordenadas de pantalla físicas del punto.

Valor devuelto

Si una aplicación procesa este mensaje, debe devolver cero.

Si la aplicación no procesa este mensaje, debe llamar a DefWindowProc.

Observaciones

Una ventana puede usar la notificación WM_POINTERLEAVE para cambiar el modo o detener los comentarios al usuario mientras el puntero está sobre la superficie de la ventana.

Esta notificación solo se envía a la ventana que recibe la entrada del puntero. En la tabla siguiente se enumeran algunas de las situaciones en las que se envía esta notificación.

Acción Conjunto de marcas Notificaciones enviadas a
Un puntero al mantener el puntero cruza los límites de la ventana. IS_POINTER_INRANGE_WPARAM Ventana fuera de cuyo límite se movió el puntero.
Un puntero sale del intervalo de detección. N/A Ventana para la que el puntero deja el intervalo de detección.

! [Importante]
Cuando una ventana pierde la captura de un puntero y recibe la notificación de WM_POINTERCAPTURECHANGED, normalmente no recibirá ninguna notificación adicional. Por este motivo, es importante que no realice ninguna suposición basada en notificaciones WM_POINTERDOWN/WM_POINTERUP o WM_POINTERENTER/WM_POINTERLEAVE emparejadas uniformemente.

Si el contacto se mantiene con el digitalizador de entrada y el puntero se mueve fuera de la ventana, no se genera WM_POINTERLEAVE. WM_POINTERLEAVE solo se genera cuando un puntero al mantener el puntero cruza los límites de la ventana o se finaliza el contacto.

WM_POINTERLEAVE se publica en la cola de mensajes publicada si la entrada se origina desde un dispositivo del mouse.

Requisitos

Requisito Valor
Cliente mínimo admitido
Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo admitido
Windows Server 2012 [solo aplicaciones de escritorio]
Encabezado
Winuser.h (incluya Windows.h)

Consulte también

mensajes de

de referencia de

GET_POINTERID_WPARAM

IS_POINTER_INRANGE_WPARAM

IS_POINTER_INCONTACT_WPARAM