【发布时间】:2014-04-03 06:06:19
【问题描述】:
我有一个带有 MFC 对话框的简单 MFC 应用程序:
BOOL CPreparationApp::InitInstance()
{
MyDlg Dlg;
MessageBox(0, L"Text1", L"MessageBox caption", MB_OK);
m_pMainWnd = &Dlg;
Dlg.DoModal();
CString strLine=Dlg.m_editText;
MessageBox(0, L"Text2", L"MessageBox caption", MB_OK);
return TRUE;
}
显示带有Text1的消息框,但是在模态对话框中按OK后没有显示带有Text2的消息框?为什么?
【问题讨论】:
-
评论 Dlg 代码,看看是否出现了两个消息框(它们会出现),然后尝试使用无模式对话框,因为我认为它的模式超过了第二个消息框
-
尝试注释掉作业
m_pMainWnd = &Dlg -
应该打开带有 text1 MyDlg 的消息框。你要关闭它吗?用 text2 关闭该消息框后应该打开。
-
另一个提示:对于基于对话框的应用,InitInstance 必须返回 FALSE,而不是 TRUE。
-
注释后 m_pMainWnd = &Dlg 显示第二个消息框。但是为什么对话框会影响 MessageBox 呢?如果我在第二个 MessagesBox 上调试此应用程序断点正常运行。