当前位置: 代码迷 >> 综合 >> 孙鑫VC++深入详解:Lesson8 Part1---逃跑按钮的实现
  详细解决方案

孙鑫VC++深入详解:Lesson8 Part1---逃跑按钮的实现

热度:74   发布时间:2024-01-19 15:16:51.0

1. 用ClassWizard创建一个基于CButton的新类CWeixinBtn,然后利用ClassWizard增加类CWeixinBtn的成员和方法:
    (1)在该类中增加成员: 一个指针CWeixinBtn *m_pBtn,必须是public,否则在类CTestDlg中访问不了.
    (2)在该类中增加一个方法:OnMouseMove(),也就是增加一个鼠标移动到上面的消息响应函数
       在该消息响应函数的实现代码中,隐藏自己,显示别人(m_Btn所指向的那个)


2. CTestDlg中:在将2个按钮(外观一样的)分别增加关联变量m_btn1,m_btn2,变量类型选择CWeixinBtn
     (1)变量m_bt1属于CWeixinBtn类,自动会响应该类中的OnMouseMove
     (2)变量m_bt1的任何响应,实际是其关联的按钮IDC_BUTTON1的响应.
     (3) 在对话框创建完成后(其上的控件按钮也创建OK),它会发送WM_INITDIALOG消息,因此类CTestDlg中有该消息的响应函数OnInitDialog(),在该函数中交换地址,也就是说必须要等到按钮生成后才能获得其地址,也才能交换
        m_btn1.m_pBtn = &m_btn2; //交换按钮的地址
m_btn2.m_pBtn = &m_btn1;


类WeixinBtn.cpp 的实现:

// WeixinBtn.cpp : implementation file
//#include "stdafx.h"
#in
  相关解决方案