mfc单文档按键当鼠标经过的时候重现
MFC基于单文档自己使用CBUTTONST画了一个按钮,设置为隐藏。怎么实现当鼠标经过该按钮的时候重现该按钮呢??...
MFC基于单文档自己使用CBUTTONST画了一个按钮,设置为隐藏。怎么实现当鼠标经过该按钮的时候重现该按钮呢??
展开
1个回答
展开全部
定义一个从CButton派生的新类,如CNewButton;
将你的按钮与此新类CNewButton相关联,即关联此类型的一个控件变量如CNewButton m_btn;
对CNewButton类添加消息函数处理,对WM_MOUSEMOVE消息进行响应。即当鼠标经过此按钮代表的窗口时,会调用该类的此消息响应函数,在此函数中,调用ShowWindow函数即可。
追问
现在的问题是,创建按钮的时候使按钮隐藏,创建WM_MOUSEMOVE响应的时候扑捉不到消息。当创建按钮的时候按钮可见,创建WM_MOUSEMOVE响应的时候可以扑捉到消息。请问一下想实现前面的功能怎么处理呢
追答
哦,这样。
嗯,那可以让此对话框捕获鼠标移动 的消息,
定义一个窗口指针 CWnd * m_pBtn和一个矩形变量CRect m_btnRect;
在应用程序初始化对话框函数OnInitDialog函数中,利用m_pBtn保存此按钮的窗口指针:m_pBtn=GetDlgItem(按钮ID) ,并获取此按钮的区域位置大小:m_pBtn->GetClientRect(&m_btnm_btnRect);
利用此对话框类捕获鼠标移动的消息WM_MOUSEMOVE,在此消息响应函数中,判断鼠标的指针位置,如果满足上述矩形区域位置要求,则显示,否则不显示。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询