如何禁用MFC SDI应用程序中的消息框“无法创建空文档”消息框

时间:2014-01-08 06:07:12

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

我在VS2010 SDI应用程序中使用MFC。 在MainFrame函数的OnCreate(LPCREATESTRUCT lpCreateStruct)类中,我打开一个对话框,并在IDCANCLE重播,从对话框中我要关闭我的应用程序。 我在onCreate函数中使用以下代码。

CTermsConditionDlg objTNCDlg;
if(!objTNCDlg.DoModal() == IDCANCLE){
return -1;
}

现在我的问题是在返回Statement后,应用程序显示消息框,如图所示。 Message on close

我想禁用此消息框并关闭我的应用程序。 任何人都可以帮助我该怎么做。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

为什么在初始化时将此对话框放置得这么晚? 问题是SDI框架继续传递一些预期会始终运行的初始事物。在这种情况下,始终期望可以创建大型机。请参阅CSingleDocTemplate :: OpenDocumentFile

中的代码

在调用LoadFrame或ProcessShellCommand之前,只需将此代码放入InitInistance即可。在这种情况下,您可以轻松终止而不会出现令人不安的问题。

另一个想法是允许创建窗口,但只使用PostMessage(WM_CLOSE);在这种情况下,初始化完成,一切都被创建,应用程序再次终止。