在MFC中,如何在不关闭它们的情况下连续创建多个对话框实例?

时间:2015-08-13 06:36:11

标签: c++ visual-c++ mfc

我已经实施了一个带有按钮的对话框 当用户单击该按钮时,将显示一个新对话框。但问题是除非我关闭新对话框,否则用户无法点击该按钮。

如何在不关闭新对话框实例的情况下让用户单击按钮?

以下是按钮点击部分的代码:

void CMyprojDlg::OnClicked()
{
    dialognewone mydia;
    mydia.DoModal();
}

2 个答案:

答案 0 :(得分:3)

您应该动态创建无模式对话框:

void CMyprojDlg::OnClicked()

{
      // Note that: you should free memory by yourself when you close the dialog
      dialognewone *mydia = new dialognewone(); 
      mydia->Create(IDD_DIALOG1);   // create a modeless dialog
      mydia->ShowWindow(SW_SHOWNORMAL);  // show a modeless dialog
}

答案 1 :(得分:0)

根据Michael Walz的关键字'评论。
我已将代码更改为

void CMyprojDlg::OnClicked() 
{
    DialogClassName *dia = new DialogClassName;
    dia->Create(IDNumberOfTemplate,this);
    dia->ShowWindow(SW_SHOW);
}

它有效。