MFC 逃跑按钮的实现
逃跑按钮,顾名思义就是点不到它。今天我们使用一种新的思路,就是当鼠标移动到此按钮时,隐藏此按钮,显示另一个按钮。

我们可以考虑一下,既然是通过鼠标移动信号处理的,那么我们应该又哪个类来处理这个信号呢?如果我们要让整个窗口来处理这个信号,那么鼠标在窗口内移动的时候按钮就会隐藏,而我们需要实现的是当鼠标移动到按钮上的时候,按钮才会隐藏。
所以我们需要接收消息处理函数的是CButton类对象,我们新建一个类,继承于CButton,CNewButton,然后我们将这两个控件分别添加一个按钮和CNewButton类关联,为第一个按钮新建一个变量m_btn1,为第二个按钮添加一个变量m_btn2,变量的类型,就是我们新建立的类CNewButton类型的对象,这样我们就将两个控件绑定到我们新建的类上面了。
然后我们为我们新建的类添加消息处理函数,SW_MOUSEMOVE,这个时候我们在消息处理函数下面使用ShowWindow(SW_HIDE)就可以实现隐藏当前按钮,那么当我们隐藏了当前的按钮,如何将另一个按钮显示出来呢,这里我们就需要在我们新建的类里面添加一个公有的成员变量指针m_pbtn,类型是CNewButton,这个对象用于两个控件之间的相互访问,我们在Dlg窗口,初始话我们的两个CNewButton变量

这样我们就可以在当前对象下访问另一个对象了,所以我们在上面的隐藏完本对象,然后使用本对象的m_pbtn指针显示另一个控件。
这样就实现了两个按钮相互调用实现的目的。

程序在刚运行的时候两个按钮都会显示,我们可以在控件属性里面先隐藏其中的一个
以下贴图:供参考




浙公网安备 33010602011771号