鼠标移动捕获(鼠标离开和鼠标输入)

时间:2010-07-20 05:21:07

标签: mfc

嗨我的应用程序中有三个控件(CButtton),每当鼠标移动到控件上时,我想捕获当鼠标进入窗口中的哪个控件时以及何时离开而我必须更改按钮控件的标题

先谢谢

2 个答案:

答案 0 :(得分:4)

没有指示“鼠标输入”或“鼠标离开”的Windows消息/事件。 但是,这可以通过处理控件的“MouseMove”消息并捕获鼠标输入来检查点是否在控件区域内来实现。如果该点不在控制区域,则释放捕获。

示例代码检查here

答案 1 :(得分:0)

@Hemant:

你错了。在WinUser.h中定义了鼠标离开和鼠标悬停的消息

#if((_WIN32_WINNT >= 0x0400) || (WINVER >= 0x0500))
#define WM_MOUSEHOVER                   0x02A1
#define WM_MOUSELEAVE                   0x02A3
#endif
#if(WINVER >= 0x0500)
#define WM_NCMOUSEHOVER                 0x02A0
#define WM_NCMOUSELEAVE                 0x02A2
#endif /* WINVER >= 0x0500 */

文档:

WM_MOUSEHOVER message

WM_MOUSELEAVE message

您可以使用以下消息映射来处理它:

ON_MESSAGE(WM_MOUSELEAVE, OnMouseLeave)