0

次の問題で立ち往生しています。いくつかのコントロールを持つメイン ダイアログがあります。また、s を持つポインター メンバーとして設定されたいくつかのサブダイアログを (サブコントロールとして) 表示しますID。duringIDを介してこれらのダイアログを作成します。昨日はとてもうまくいきました。今日、サブダイアログにいくつかのコントロールを追加することにしましたが、問題が発生しました。CreateControlOnInitDialog

これが、メイン ダイアログ durig でサブダイアログを作成する方法ですOnInitDialog

if (m_pNewObjDlg != NULL) m_pNewObjDlg->Create(m_nNewObjDlgID, this);
if (m_pSharedObjDlg != NULL) m_pSharedObjDlg->Create(m_nSharedObjDlgID, this);

それが、ルーチンの 1 つからサブダイアログを外に設定する方法です。

dlgSelectSharedObject.SetNewPageObject(&dlgSelectNewTableDialog, CSelectNewTableDialog::IDD);
dlgSelectSharedObject.SetSharedPageObject(&dlgSelectSharedTable, CSelectSharedTableDialog::IDD);

2 つのサブダイアログがうまく機能し、サブダイアログOnInitDialogが設定され、メソッドが有効な値を返すことがわかりました。しかし、実行がメイン ダイアログに戻ると、 と の値が であることがわかります。どうしてそうなるのかわかりません。sを再確認しましたが、重複していません。その結果、コントロールを含むメイン ダイアログ以外は何も表示されません。考えはありますか?DoDataExchangem_hWndGetDlgItemOnInitDialogm_hWndpNewObjDlgpSharedObjDlgNULLIDASSERT

4

1 に答える 1