The TrackMouseEvent function posts messages when the mouse pointer leaves a window or hovers over a window for a specified amount of time.
BOOL TrackMouseEvent(
LPTRACKMOUSEEVENT lpEventTrack |
// pointer to a TRACKMOUSEEVENT structure |
); |
If the function succeeds, the return value is nonzero .
If the function fails, return value is zero. To get extended error information, call GetLastError.
The messages that the function can post are the following:
Message |
Meaning |
WM_MOUSEHOVER |
The mouse hovered over the client area of the window for the period of time specified in a prior call to TrackMouseEvent. Hover tracking stops when this message is generated. The application must call TrackMouseEvent again if it requires further tracking of mouse hover behavior. |
WM_MOUSELEAVE |
The mouse left the client area of the window specified in a prior call to TrackMouseEvent. All tracking requested by TrackMouseEvent is canceled when this message is generated. The application must call TrackMouseEvent when the mouse re-enters its window if it requires further tracking of mouse hover behavior. |
The mouse pointer is considered to be hovering when it stays within a specified rectangle for a specified period of time. Call SystemParametersInfo and use the values SPI_GETMOUSEHOVERWIDTH, SPI_GETMOUSEHOVERHEIGHT, and SPI_GETMOUSEHOVERTIME to retrieve the size of the rectangle and the time.