winuser.h

Mensaje WM_MOUSEHOVER

Definición

WM_MOUSEHOVER
fwKeys = wParam         // banderas de tecla
xPos = LOWORD(lParam);  // posición horizontal del cursor
yPos = HIWORD(lParam);  // posición vertical del cursor

El mensaje WM_MOUSEHOVER se envía (post) a una ventana cuando el cursor permance sobre el área de cliente de la ventana durante un periodo de tiempo especificado por una llamada previa a TrackMouseEvent.

Descripción

wParam: indica si varias teclas virtuales están pulsadas. Este parámetro puede ser uno de los siguientes valores:

Valor Descripción
MK_CONTROL Activo si la tecla CTRL está pulsada.
MK_LBUTTON Activo si el botón izquierdo del ratón está pulsado.
MK_MBUTTON Activo si el botón central del ratón está pulsado.
MK_RBUTTON Activo si el botón derecho del ratón está pulsado.
MK_SHIFT Activo si la tecla MAYÚSCULAS está pulsada.
MK_XBUTTON1 Windows 2000/XP: el primer botón X está pulsado.
MK_XBUTTON2 Windows 2000/XP: el segundo botón X está pulsado.

xPos: valor de la palabra de menor peso de lParam. Especifica la coordenada x del cursor. La coordenada es relativa a la esquina superior izquierda del área de cliente.

yPos: valor de la palabra de mayor peso de lParam. Especifica la coordenada y del cursor. La coordenada es relativa a la esquina superior izquierda del área de cliente.

Valor de retorno

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

Observaciones

El trazado de tiempo sobre la ventana se detiene cuando se genera el mensaje WM_MOUSEHOVER. La aplicación debe llamar a TrackMouseEvent de nuevo si necesita mantener el rastreo del ratón sobre la ventana.

Se puede usar el siguiente código para obtener la posición horizontal y vertical:

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

En la aplicación tambien se puede usar la macro MAKEPOINTS para convertir el parámetro lParam a una estructura POINTS.