MFC模式对话框阻止对话框关闭后继续另一个模式对话框

时间:2018-11-13 11:38:06

标签: mfc modal-dialog cdialog

创建一个简单的mfc项目,然后创建三个对话框并添加CDialog类。

TestA,TestB,TestC类。

在主框架对话框中,

void CMFCApplication3Dlg::OnBnClickedButton1() {
  TestA *a = new TestA(CWnd::FromHandle(GetSafeHwnd()));
  a->Create(TestA::IDD, CWnd::FromHandle(GetSafeHwnd()));
  a->ShowWindow(SW_SHOW);
}

void CMFCApplication3Dlg::OnBnClickedButton2() {
  TestB b;
  b.DoModal();
  AfxMessageBox(L"B closed");
}

TestA类具有

void TestA::OnBnClickedButton1() {
  TestC c;
  c.DoModal();
  AfxMessageBox(L"C closed");
}

问题何时发生

  1. 打开TestA
  2. 打开TestB
  3. 打开TestC

现在,当我关闭TestB时,AfxMessageBox(L“ B关闭”);在我关闭TestC对话框后才能运行。

为什么会这样?

0 个答案:

没有答案