本人创建了两个对话框,默认向导只能继承CDialog,由于需要我需要继承另外一个类这里设为CCDM,CCDM是继承于CDialog的,你尝试修改继承但是构造函数声明的实现时不太好写,IDD,可能有问题,需在两个对话框都无法做按钮的响应事件,就是怎么回事?
能否给给例子,我好参考参考。

解决方案 »

  1.   

    就是建立一个对话框,但是用向导做的默认是继承CDialog的,我想继承别的,当然继承的类也是CDialog派生出来的,只是加了些方法。
      

  2.   

    构造函数这么添加。。不知道是不是lz想要的。。class CCDM : public CDialog
    {
    DECLARE_DYNAMIC(CCDM)public:
    CCDM(UINT nIDTemplate, CWnd* pParent = NULL);   // 标准构造函数
    CCDM(LPCTSTR lpszTemplateName, CWnd* pParentWnd = NULL); virtual ~CCDM();protected:
    virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持 DECLARE_MESSAGE_MAP()
    }
    #include "stdafx.h"
    #include "CDM.h"IMPLEMENT_DYNAMIC(CCDM, CDialog)CCDM::CCDM(UINT nIDTemplate, CWnd* pParent /*=NULL*/)
    : CDialog(nIDTemplate, pParent)
    {}CCDM::CCDM(LPCTSTR lpszTemplateName, CWnd* pParentWnd /* = NULL */)
    : CDialog(lpszTemplateName, pParentWnd)
    {}CCDM::~CCDM()
    {}void CCDM::DoDataExchange(CDataExchange* pDX)
    {
    CDialog::DoDataExchange(pDX);
    }BEGIN_MESSAGE_MAP(CCDM, CDialog)
    // 按钮消息映射
    END_MESSAGE_MAP()自己的对话框再从CCDM类派生就行了。。
    class COwnDialog : public CDM
    {
    // ......
    }