OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
来源:互联网 发布:python meshgrid函数 编辑:程序博客网 时间:2024/05/16 12:00
当鼠标停留在程序窗口一定时间后,会产生一个WM_MOUSEHOVER消息;当鼠标离开程序窗口后,会产生一个WM_MOUSELEAVE消息。那如何才能使窗口响应这两个消息呢?按下面的步骤,即可让指定的窗口能捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息了:2、在窗口类的cpp文件中添加:
3、用ON_MESSAGE添加消息映射:4、在OnMouseMove响应函数中,调用_TrackMouseEvent(),设置捕获WM_MOUSEHOVER和WM_MOUSELEAVE消息请求: (2) 让一个相对独立的窗口捕获WM_MOUSEHOVER和WM_MOUSELEAVE消息,直接按上述方法就可以了。如果让子窗口CButton、CStatic等来捕获,则需要在基类的基础上派生出一个子类,在子类中按上述办法来实现就行了。
1、在窗口类的头文件中添加:
- afx_msg void OnMouseHover();
- afx_msg void OnMouseLeave();
- BOOL m_bTrackLeave; // 捕获设置标记
- void CXXXWnd::OnMouseHover()
- {
- MessageBox( "鼠标已进入 ");
- m_bTrackLeave = FALSE;
- }
- void CXXXWnd::OnMouseLeave()
- {
- MessageBox( "鼠标已离开 ");
- m_bTrackLeave = FALSE;
- }
- ON_MESSAGE( WM_MOUSEHOVER, OnMouseHover )
- ON_MESSAGE( WM_MOUSELEAVE, OnMouseLeave )
5、相关说明
(1) 调用一次_TrackMouseEvent只能请求一次WM_MOUSEHOVER和WM_MOUSELEAVE消息,所以要放到OnMouseMove中多次请求,msdn中的相关解释:
- The _TrackMouseEvent function posts messages when the mouse pointer leaves a window or hovers over a window for a specified amount of time. This function calls TrackMouseEvent if it exists, otherwise it emulates it.
- All tracking requested by TrackMouseEvent is canceled when this message is generated. The application must call TrackMouseEvent when the mouse reenters its window if it requires further tracking of mouse hover behavior.
0 0
- OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
- OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
- OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
- 让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息
- OnMouseHover()和OnMouseLeave()消息
- 使用_TrackMouseEvent捕获WM_MOUSELEAVE和WM_MOUSEHOVER消息
- 使用_TrackMouseEvent捕获WM_MOUSELEAVE和WM_MOUSEHOVER消息
- 响应WM_MOUSEHOVER和WM_MOUSELEAVE
- _TrackMouseEvent 响应 WM_MOUSELEAVE 和 WM_MOUSEHOVER 消息
- WM_MOUSELEAVE和WM_MOUSEHOVER消息
- WM_MOUSEHOVER和WM_MOUSELEAVE消息的触发
- 解决WndProc无法捕获捕获WM_MOUSELEAVE和WM_MOUSEHOVER消息的问题
- WM_MOUSELEAVE和WM_MOUSEHOVER使用
- 处理WM_MOUSELEAVE和WM_MOUSEHOVER
- WM_MOUSELEAVE和WM_MOUSEHOVER使用
- WM_MOUSEHOVER 和 WM_MOUSELEAVE
- 鼠标悬停在按钮上响应OnMouseHover、OnMouseMove和OnMouseLeave
- 捕捉鼠标停留WM_MOUSEHOVER和离开WM_MOUSELEAVE消息
- 组播相关
- 关于LUN和存储卷的区别详解
- sublime text2插件
- HttpClient使用详解
- Java 序列化的一些高级认识
- OnMouseHover()和OnMouseLeave()(让窗口捕获并响应WM_MOUSEHOVER和WM_MOUSELEAVE消息)
- 线程传递参数
- 编程习惯包含的部分
- Objective - C基础: 第三天 - 1.NSString的基本认识
- 十二个移动App云测试服务盘点
- Doubango代码学习(六):timer
- ListView点击后item的颜色不变色
- JAVA垃圾回收机制详解--perfect
- 优化