Mensaje WM_MOUSEHOVER

Aparece en una ventana cuando el cursor se sitúa sobre el área cliente de la ventana durante el período de tiempo especificado en una llamada anterior a TrackMouseEvent.

Una ventana recibe este mensaje mediante la función WindowProc.

#define WM_MOUSEHOVER                   0x02A1

Parámetros

wParam

Indica si hay varias teclas virtuales presionadas. Este parámetro puede ser uno o más de los siguientes valores.

Value Significado
MK_CONTROL
0x0008
La tecla CTRL está presionada.
MK_LBUTTON
0x0001
El botón izquierdo del mouse está presionado.
MK_MBUTTON
0x0010
El botón central del mouse está presionado.
MK_RBUTTON
0x0002
El botón derecho del mouse está presionado.
MK_SHIFT
0x0004
La tecla MAYÚS está presionada.
MK_XBUTTON1
0x0020
El primer botón X está presionado.
MK_XBUTTON2
0x0040
El segundo botón X está pulsado.

lParam

La palabra de orden inferior especifica la coordenada X del cursor. La coordenada es relativa a la esquina superior izquierda del área cliente.

La palabra de primer orden especifica la coordenada Y del cursor. La coordenada es relativa a la esquina superior izquierda del área cliente.

Valor devuelto

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

Comentarios

El seguimiento del puntero se detiene al generar WM_MOUSEHOVER. La aplicación debe llamar a TrackMouseEvent de nuevo si se requiere un seguimiento adicional del comportamiento del puntero del mouse.

Use el código siguiente para obtener la posición horizontal y vertical:

xPos = GET_X_LPARAM(lParam); 
yPos = GET_Y_LPARAM(lParam); 

Como se indicó anteriormente, la coordenada X está en el entero short de orden inferior del valor devuelto; la coordenada Y está en el entero short de orden superior (ambos representan valores con signo porque pueden tomar valores negativos en sistemas con varios monitores). Si el valor devuelto se asigna a una variable, puede usar la macro MAKEPOINTS para obtener una estructura POINTS a partir del valor devuelto. También puede usar las macros GET_X_LPARAM o GET_Y_LPARAM para extraer la coordenada X o Y.

Importante

No use las macros LOWORD ni HIWORD para extraer las coordenadas X e Y de la posición del cursor porque estas macros devuelven resultados incorrectos en sistemas con varios monitores. Los sistemas con varios monitores pueden tener coordenadas x e y negativas, y LOWORD y HIWORD tratan las coordenadas como cantidades sin signo.

Requisitos

Requisito Valor
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Winuser.h (incluye Windowsx.h)

Consulte también

Referencia

GET_X_LPARAM

GET_Y_LPARAM

GetCapture

SetCapture

TrackMouseEvent

TRACKMOUSEEVENT

Conceptual

Entrada de mouse

Otros recursos

MAKEPOINTS

POINTS