ダイアログボックス(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
andメソッドを介してCMyDialogから継承できIMPLEMENT_DYNAMIC
ます。アダム、あなたの助けに感謝します。
しかし、質問の2番目の部分を機能させることができませんでした。[名前を付けて保存]ボタンを追加するなど、子ダイアログボックスCMyDialog1にいくつかの機能を追加したかったのですが、追加できませんでした。CMyDialog1はCMyDialogから継承されたダイアログであるため、新しい関数を追加できないためですか?継承されたダイアログボックスに新しい関数を追加するにはどうすればよいですか?