[New - Windows NT]
TrackMouseEvent功能使用TrackMouseEvent结构来跟踪鼠标指针离开窗口的时间,或者在窗口上悬停指定的时间。
typedef struct tagTRACKMOUSEEVENT {en
DWORD cbSize;
DWORD dwFlags;
HWND hwndTrack;
DWORD dwHoverTime;
} TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT;
会员
CBSIZE
指定TRACKMOUSEEVENT结构的大小。
dwFlags中
指定所请求的服务。该成员可以是以下值的组合:
值 | 含义 |
TME_CANCEL | 来电者想要取消先前的跟踪请求。 来电者还应指定要取消的跟踪类型。例如,要取消悬停跟踪,呼叫者必须通过TME_CANCEL和TME_HOVER标志。 |
TME_HOVER | 呼叫者希望悬停通知。通知作为WM_MOUSEHOVER消息传递。 如果呼叫者在悬停跟踪已经处于活动状态时请求悬停跟踪,则将重置悬停定时器。 如果鼠标指针不在指定的窗口或区域上,则忽略此标志。 |
TME_LEAVE | 来电者要离开通知。通知作为WM_MOUSELEAVE消息传递。 如果鼠标未超过指定的窗口或区域,则立即生成离开通知,并且不执行进一步的跟踪。 |
TME_QUERY | 该函数填充结构,而不是将其视为跟踪请求。结构被填充,使得已将该结构传递给TrackMouseEvent,其将生成当前跟踪。唯一的异常是,返回的悬停超时总是实际超时,而不是HOVER_DEFAULT,如果在原始TrackMouseEvent请求期间指定了HOVER_DEFAULT。 |
hwndTrack
指定要跟踪的窗口的句柄。
dwHoverTime
指定悬停超时(如果在dwFlags中指定了TME_HOVER),以毫秒为单位。可以是HOVER_DEFAULT,这意味着使用系统默认的悬停超时。
备注
系统默认的悬停时间最初是菜单下拉时间,这是400毫秒。您可以致电SystemParametersInfo并使用SPI_GETMOUSEHOVERTIME来检索默认的悬停超时。
系统默认悬停矩形与双击矩形相同。您可以调用SystemParametersInfo并使用SPI_GETMOUSEHOVERWIDTH和SPI_GETMOUSEHOVERHEIGHT来检索鼠标指针必须保留的矩形的大小TrackMouseEvent以生成WM_MOUSEHOVER消息。
也可以看看