Export (0) Print
Expand All
6 out of 6 rated this helpful - Rate this topic

WM_MOUSEHOVER message

Posted to a window when the cursor hovers over the client area of the window for the period of time specified in a prior call to TrackMouseEvent.

A window receives this message through its WindowProc function.


#define WM_MOUSEHOVER                   0x02A1

Parameters

wParam

Indicates whether various virtual keys are down. This parameter can be one or more of the following values.

ValueMeaning
MK_CONTROL
0x0008

The CTRL key is depressed.

MK_LBUTTON
0x0001

The left mouse button is depressed.

MK_MBUTTON
0x0010

The middle mouse button is depressed.

MK_RBUTTON
0x0002

The right mouse button is depressed.

MK_SHIFT
0x0004

The SHIFT key is depressed.

MK_XBUTTON1
0x0020

The first X button is down.

MK_XBUTTON2
0x0040

The second X button is down.

 

lParam

The low-order word specifies the x-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

The high-order word specifies the y-coordinate of the cursor. The coordinate is relative to the upper-left corner of the client area.

Return value

If an application processes this message, it should return zero.

Remarks

Hover tracking stops when WM_MOUSEHOVER is generated. The application must call TrackMouseEvent again if it requires further tracking of mouse hover behavior.

Use the following code to obtain the horizontal and vertical position:


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

As noted above, the x-coordinate is in the low-order short of the return value; the y-coordinate is in the high-order short (both represent signed values because they can take negative values on systems with multiple monitors). If the return value is assigned to a variable, you can use the MAKEPOINTS macro to obtain a POINTS structure from the return value. You can also use the GET_X_LPARAM or GET_Y_LPARAM macro to extract the x- or y-coordinate.

Important  Do not use the LOWORD or HIWORD macros to extract the x- and y- coordinates of the cursor position because these macros return incorrect results on systems with multiple monitors. Systems with multiple monitors can have negative x- and y- coordinates, and LOWORD and HIWORD treat the coordinates as unsigned quantities.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Winuser.h (include Windowsx.h)

See also

Reference
GET_X_LPARAM
GET_Y_LPARAM
GetCapture
SetCapture
TrackMouseEvent
TRACKMOUSEEVENT
Conceptual
Mouse Input
Other Resources
MAKEPOINTS
POINTS

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.