TRACKMOUSEEVENT

[New - Windows NT]

The TRACKMOUSEEVENT structure is used by the TrackMouseEvent function to track when the mouse pointer leaves a window or hovers over a window for a specified amount of time.

typedef struct tagTRACKMOUSEEVENT {

DWORD cbSize;

DWORD dwFlags;

HWND hwndTrack;

DWORD dwHoverTime;

} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;

Members

cbSize

Specifies the size of the TRACKMOUSEEVENT structure.

dwFlags

Specifies the services requested. This member can be a combination of the following values:

Value Meaning
TME_CANCEL The caller wants to cancel a prior tracking request.

The caller should also specify the type of tracking that it wants to cancel. For example, to cancel hover tracking, the caller must pass the TME_CANCEL and TME_HOVER flags.

TME_HOVER The caller wants hover notification. Notification is delivered as a WM_MOUSEHOVER message.

If the caller requests hover tracking while hover tracking is already active, the hover timer will be reset.

This flag is ignored if the mouse pointer is not over the specified window or area.

TME_LEAVE The caller wants leave notification. Notification is delivered as a WM_MOUSELEAVE message.

If the mouse is not over the specified window or area, a leave notification is generated immediately and no further tracking is performed.

TME_QUERY The function fills in the structure instead of treating it as a tracking request. The structure is filled such that had that structure been passed to TrackMouseEvent it would generate the current tracking. The only anomaly is that the hover timeout returned is always the actual timeout and not HOVER_DEFAULT, if HOVER_DEFAULT was specified during the original TrackMouseEvent request.

hwndTrack

Specifies the handle of the window to track.

dwHoverTime

Specifies the hover timeout (if TME_HOVER was specified in dwFlags), in milliseconds. Can be HOVER_DEFAULT, which means to use the system default hover timeout.

Remarks

The system default hover timeout is initially the menu dropdown time, which is 400 milliseconds. You can call SystemParametersInfo and use SPI_GETMOUSEHOVERTIME to retrieve the default hover timeout.

The system default hover rectangle is the same as the double-click rectangle. You can call SystemParametersInfo and use SPI_GETMOUSEHOVERWIDTH and SPI_GETMOUSEHOVERHEIGHT to retrieve the size of the rectangle within which the mouse pointer has to stay for TrackMouseEvent to generate a WM_MOUSEHOVER message.

See Also

SystemParametersInfo,
TrackMouseEvent