_TrackMouseEvent 响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息
来源:互联网 发布:怎么在淘宝买岛国资源 编辑:程序博客网 时间:2024/05/15 11:31
http://andylin02.iteye.com/blog/625546
默认情况下,窗口是不响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息的,所以要使用 _TrackMouseEvent函数来激活这两个消息。调用这个函数后,当鼠标在指定窗口上停留超过一定时间或离开窗口后,该函数会 Post 这两个消息到指定窗口。
使用方法:
1. 在对话框类中定义一个变量来标识是否追踪当前鼠标状态,之所以要这样定义是要避免鼠标已经在窗体之上时,一移动鼠标就不断重复产生 WM_MOUSEHOVER 。
BOOL _bMouseTrack=TRUE ;
2. 在 OnMouseMove 中调用 _TrackMouseEvent 函数
if (_bMouseTrack) // 若允许 追踪,则。
{
TRACKMOUSEEVENT csTME;
csTME.cbSize = sizeof (csTME);
csTME.dwFlags = TME_LEAVE|TME_HOVER;
csTME.hwndTrack = m_hWnd ;// 指定要 追踪 的窗口
csTME.dwHoverTime = 10; // 鼠标在按钮上停留超过 10ms ,才认为状态为 HOVER
::_TrackMouseEvent (&csTME); // 开启 Windows 的 WM_MOUSELEAVE , WM_MOUSEHOVER 事件支持
_bMouseTrack=FALSE ; // 若已经 追踪 ,则停止 追踪
}
3. 在 OnMouseLeave 中再次允许追踪鼠标状态
_bMouseTrack=TRUE ;
4. 备注:这两个消息的映射要自己写
ON_MESSAGE(WM_MOUSEHOVER,OnMouseHover)
ON_MESSAGE(WM_MOUSELEAVE,OnMouseLeave)
- _TrackMouseEvent 响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息
- 使用_TrackMouseEvent捕获WM_MOUSELEAVE和WM_MOUSEHOVER消息
- 使用_TrackMouseEvent捕获WM_MOUSELEAVE和WM_MOUSEHOVER消息
- 响应WM_MOUSEHOVER和WM_MOUSELEAVE
- WM_MOUSELEAVE和WM_MOUSEHOVER消息
- 让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息
- WM_MOUSEHOVER和WM_MOUSELEAVE消息的触发
- OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
- OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
- OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
- WM_MOUSELEAVE和WM_MOUSEHOVER使用
- 处理WM_MOUSELEAVE和WM_MOUSEHOVER
- WM_MOUSELEAVE和WM_MOUSEHOVER使用
- WM_MOUSEHOVER 和 WM_MOUSELEAVE
- 捕捉鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息
- 捕捉鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息
- 关于 控件 的鼠标效应消息 WM_MOUSELEAVE 和WM_MOUSEHOVER
- 捕捉鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息
- UIView层次管理(sendSubviewToBack,bringSubviewToFront)
- Apache apxs添加proxy模块
- 自动清理MYSQL 的Lock 进程的脚本
- java学习笔记——自定义实现Stack集合
- sql判断字段包含中文
- _TrackMouseEvent 响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息
- 解决vim乱码
- Android触摸分析
- Factoring Large Numbers
- 批量获取主键sequence的主键
- 如果不是异地
- 如何导入导出MySQL数据库*.sql文件操作
- Win32中使用目录浏览器
- android 通过经纬度获取地址信息