逃跑按钮的实现

举报
择城终老 发表于 2021/07/27 00:53:14 2021/07/27
【摘要】 基于对话框的应用程序和SDI应用程序之间的区别:基于对话框的应用程序没有从CView类派生出来的视类,也没用从CFrameWnd类派生出来的框架类,以及从CDocument类派生出来的文档类,它只用从CDialog类派生出来的对话框类,,这类应用程序的窗口就是一个对话框界面。只用三个类,CAboutDlg,用来显示一个对话框,CApp,代表应用程序本身,CDlg,基于对话框的...

首先要捕获鼠标移动消息,那有哪个类来捕获消息呢?如果是对话框来捕获的话,我们只要在对话框上移动,就会上下移动,不符合,所以鼠标移动消息应该有按钮窗口来捕获,可以创建一个从CButton类派生的新类,然后将按钮控件与这种新类型的成员变量相关联,从而就把按钮控件与一个自定义的按钮窗口关联起来。(新资源新类),当移动到按钮上的时候,调用函数ShowWindow(SW_HIDE),同时要让另一个按钮显示出来,就要知道这个按钮的地址,然后调用ShowWindow,为了获得这个地址,可以在CNewButton中定义一个CNewButton *类型的成员变量,然后当用CNewButton类去实例化CTestDlg类的成员变量时,这两个对象内部就有了一个CNewButton *成员变量,我们可以让这两个成员变量互相交换自己的首地址。这个过程可以放在函数OnInitDialog中完成,因为该函数是相应WM_INITDIALOG消息的响应函数,该消息是在对话框要显示之前发送的。然后再OnMouseMove中写码:

ShowWindow(SW_HIDE);m_pBtn->ShowWindow(SW_HIDE)

解释:记住传递的都是this指针,就是当前指向的对象(没用调用什么的,如m_pBtn)。

文章来源: liyuanjinglyj.blog.csdn.net,作者:李元静,版权归原作者所有,如需转载,请联系作者。

原文链接:liyuanjinglyj.blog.csdn.net/article/details/7926975

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。