【发布时间】:2015-06-23 17:52:02
【问题描述】:
我是 VC++ 编程的初学者,在开发基于对话框的 VC++ 应用程序 (VS2010+WIN7) 时遇到问题。非常感谢任何帮助或建议!
我创建了两个对话框类,CTestDialog 和 CMyDialog。 CTestDialog 是应用程序运行时显示的对话框。单击“确定”按钮时,我想显示另一个对话框,即 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"
谁能解决这个问题?非常感谢!
【问题讨论】:
-
你
#include "CMyDialog.h"了吗? -
如果你查看生成断言的代码,它应该会给你一个提示。
-
可能您正在创建/销毁
CMyDialog中的一些窗口句柄并且没有正确清理。尝试将每组放在括号中 {CMyDlg x; x.DoModal();}或向我们展示CMyDialog中的内容 -
请格式化您的代码。
标签: c++ visual-c++ mfc