mfc单文档按键当鼠标经过的时候重现

MFC基于单文档自己使用CBUTTONST画了一个按钮,设置为隐藏。怎么实现当鼠标经过该按钮的时候重现该按钮呢??... MFC基于单文档自己使用CBUTTONST画了一个按钮,设置为隐藏。怎么实现当鼠标经过该按钮的时候重现该按钮呢?? 展开
 我来答
cltdevelop
2014-11-12 · 超过18用户采纳过TA的回答
知道答主
回答量:26
采纳率:0%
帮助的人:24.3万
展开全部
  1. 定义一个从CButton派生的新类,如CNewButton;

  2. 将你的按钮与此新类CNewButton相关联,即关联此类型的一个控件变量如CNewButton m_btn;

  3. 对CNewButton类添加消息函数处理,对WM_MOUSEMOVE消息进行响应。即当鼠标经过此按钮代表的窗口时,会调用该类的此消息响应函数,在此函数中,调用ShowWindow函数即可。

追问
现在的问题是,创建按钮的时候使按钮隐藏,创建WM_MOUSEMOVE响应的时候扑捉不到消息。当创建按钮的时候按钮可见,创建WM_MOUSEMOVE响应的时候可以扑捉到消息。请问一下想实现前面的功能怎么处理呢
追答

哦,这样。

嗯,那可以让此对话框捕获鼠标移动 的消息,

  1. 定义一个窗口指针 CWnd * m_pBtn和一个矩形变量CRect m_btnRect;

  2. 在应用程序初始化对话框函数OnInitDialog函数中,利用m_pBtn保存此按钮的窗口指针:m_pBtn=GetDlgItem(按钮ID) ,并获取此按钮的区域位置大小:m_pBtn->GetClientRect(&m_btnm_btnRect);

  3. 利用此对话框类捕获鼠标移动的消息WM_MOUSEMOVE,在此消息响应函数中,判断鼠标的指针位置,如果满足上述矩形区域位置要求,则显示,否则不显示。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式