我在VS2010
SDI应用程序中使用MFC
。
在MainFrame
函数的OnCreate(LPCREATESTRUCT lpCreateStruct)
类中,我打开一个对话框,并在IDCANCLE
重播,从对话框中我要关闭我的应用程序。
我在onCreate
函数中使用以下代码。
CTermsConditionDlg objTNCDlg;
if(!objTNCDlg.DoModal() == IDCANCLE){
return -1;
}
现在我的问题是在返回Statement后,应用程序显示消息框,如图所示。
我想禁用此消息框并关闭我的应用程序。 任何人都可以帮助我该怎么做。 提前谢谢。
答案 0 :(得分:0)
为什么在初始化时将此对话框放置得这么晚? 问题是SDI框架继续传递一些预期会始终运行的初始事物。在这种情况下,始终期望可以创建大型机。请参阅CSingleDocTemplate :: OpenDocumentFile
中的代码在调用LoadFrame或ProcessShellCommand之前,只需将此代码放入InitInistance即可。在这种情况下,您可以轻松终止而不会出现令人不安的问题。
另一个想法是允许创建窗口,但只使用PostMessage(WM_CLOSE);在这种情况下,初始化完成,一切都被创建,应用程序再次终止。