无法在基于对话框的VC ++应用程序中调用DoModal两次

时间:2015-06-23 17:52:02

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

我是VC ++编程的初学者,当我开发基于对话框的VC ++应用程序(VS2010 + WIN7)时,我遇到了问题。非常感谢任何帮助或建议!

我创建了两个对话框类,CTestDialog和CMyDialog。 CTestDialog是应用程序运行时显示的对话框。当它" OK"单击按钮,我想显示另一个对话框,即CMyDialog两次。以下是代码:

void CTestDialog::OnBnClickedOk()

{

CDialog::OnOK(); 

CMyDialog dlg1;

dlg1.DoModal();

MessageBox("Show me again!");

CMyDialog dlg2;

dlg2.DoModal();

}

第一个对话框dlg1正确显示,但第二个dlg2不起作用。 VS告诉我

  

"调试断言失败!   文件:f:\ dd \ vctools \ vc7libs \ ship \ atlmfc \ src \ mfc \ wingdi.cpp行:1119"

任何人都可以解决这个问题吗?非常感谢你!

1 个答案:

答案 0 :(得分:-1)

对于Windows应用程序,你不能同时弹出两个模态对话框,这就是你获得第二个DoModal的断言的原因。