MFC 按钮的鼠标移动事件

         对话框CDialog类的WM_MOUSEMOVE事件(鼠标移动事件)处理当鼠标在对话框上移动时的操作,如果要求程序在鼠标移动到某个Button上时做出响应,一种直接的想法是在对话框的事件处理程序中根据鼠标的位置判断,如果鼠标位置在按钮上面,然后做出响应。但是Dialog中不能响应控件上的鼠标事件,Dialog中只能响应没有控件地方的鼠标 事件。

        要响应按钮上的鼠标移动事件,要自己重写按钮类,在重写的类中响应WM_MOUSEMOVE消息,然后给按钮绑定重写类型的变量。

class CNewButton : public CButton{
...
public:
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
};
void CNewButton::OnMouseMove(UINT nFlags, CPoint point)
{
	// TODO: 在此添加消息处理程序代码和/或调用默认值
	ShowWindow(SW_HIDE);
	if (p_btn)
	{
		p_btn->ShowWindow(SW_NORMAL);
	}
	CButton::OnMouseMove(nFlags, point);
}

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值