TrackMouseEvent 函数 (winuser.h)
当在指定时间内鼠标指针离开窗口或将鼠标悬停在窗口上时,发布消息。
注意_TrackMouseEvent函数调用 TrackMouseEvent(如果存在),否则_TrackMouseEvent模拟 TrackMouseEvent。
语法
BOOL TrackMouseEvent(
[in, out] LPTRACKMOUSEEVENT lpEventTrack
);
参数
[in, out] lpEventTrack
类型: LPTRACKMOUSEEVENT
指向包含跟踪信息的 TRACKMOUSEEVENT 结构的指针。
返回值
类型: BOOL
如果函数成功,则返回值为非零 。
如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
注解
当鼠标指针在指定矩形内停留一段时间时,它被视为悬停。 调用 SystemParametersInfo。 和 使用 SPI_GETMOUSEHOVERWIDTH、 SPI_GETMOUSEHOVERHEIGHT和 SPI_GETMOUSEHOVERTIME 的值来检索矩形的大小和时间。
函数可以发布以下消息。
消息 | 说明 |
---|---|
WM_NCMOUSEHOVER | 与 WM_MOUSEHOVER 的含义相同,只不过这适用于窗口的非工作区。 |
WM_NCMOUSELEAVE | 与 WM_MOUSELEAVE 的含义相同,只是对于窗口的非工作区。 |
WM_MOUSEHOVER | 鼠标悬停在窗口的工作区上,在之前调用 TrackMouseEvent 中指定的时间段内。 生成了此消息时,悬停跟踪将停止。 如果应用程序需要进一步跟踪鼠标悬停行为,则必须再次调用 TrackMouseEvent。 |
WM_MOUSELEAVE | 鼠标离开之前对 TrackMouseEvent 的调用中指定的窗口的工作区。 生成此消息时,会取消 TrackMouseEvent 请求的所有跟踪。 如果鼠标需要进一步跟踪鼠标悬停行为,则当鼠标重新进入窗口时,应用程序必须调用 TrackMouseEvent。 |
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API 集 | windows 8) 中引入的 ext-ms-win-ntuser-mouse-l1-1-0 ( |
请参阅
概念性
其他资源
引用