15

MFC の Visual C++ 6.0 で非モーダル ダイアログを作成して表示する方法を誰か教えてもらえますか? 私はこのコードを書きました:

CDialog dialog;
if (dialog.init(initialization values...))
   dialog.DoModal();

しかし、それは私のアプリケーションがダイアログを表示するのをブロックします。それを行う方法または他の方法が存在するかどうかはわかりません。

ありがとう

4

6 に答える 6

18
/* CChildDialog class is inherited from CDialog */
CChildDialog *m_pDialog = NULL;

// Invoking the Dialog
m_pDialog = new CChildDialog();

if (m_pDialog != NULL)
{
      BOOL ret = m_pDialog->Create(IDD_CHILDDIALOG, this);

      if (!ret)   //Create failed.
      {
         AfxMessageBox(_T("Error creating Dialog"));
      }    
      m_pDialog->ShowWindow(SW_SHOW);
}

// Delete the dialog once done
delete m_pDialog;
于 2010-02-16T09:53:38.343 に答える
5

あなたは電話することができ、他の人が提案したようにCDialog::Create.CWnd::ShowWindow

また、ローカル変数に保存されている場合、ダイアログは作成直後に破棄されることに注意してください。

于 2013-02-07T16:46:50.683 に答える