我创建了一个对话框(cMyDialog)。我打算复制 cMyDialog 并将其命名为 cMyDialog2。如何在 MFC 中进行继承?我希望 cMyDialog2 从 cMyDialog1 继承所有 IDD,这样我就不必将代码从 cMyDialog1 复制并粘贴到 cMyDialog2。cMyDialog2 的目的是继承 cMyDialog1 的所有功能,并在其中添加一些额外的功能。
非常感谢您的回复。我不太确定 IMPLEMENT_DYNAMIC。下面是我的代码的一小段。如果我误解了宏,请您复习一下并帮助我吗?
// cMyDialog1.cpp : implementation file
cMyDialog1::cMyDialog1(void * pMsgData, CWnd* pParent /*=NULL*/): CDialog(cMyDialog1::IDD, pParent)
{ //codes....
}
BOOL cMyDialog1::OnInitDialog()
{
CDialog::OnInitDialog();
...
}
//cMyDialog2.cpp
cMyDialog2::cMyDialog2(void * pMsgData, CWnd* pParent /*=NULL*/)
: CMyDialog1(cMyDialog2::IDD, pParent)
{ //codes....
IMPLEMENT_DYNAMIC(cMyDialog2, cMyDialog1)
}
我可以通过DECLARE_DYNAMIC
andIMPLEMENT_DYNAMIC
方法从 CMyDialog 继承。非常感谢你的帮助,亚当。
但是我无法解决问题的第二部分。我想在子对话框CMyDialog1中添加一些额外的功能,例如添加“另存为”按钮,但我无法做到。是因为 CMyDialog1 是从 CMyDialog 继承的对话框,因此我无法添加新功能吗?如何在继承对话框中添加新功能?