1

创建了一个简单的 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. 公开测试A
  2. 开放测试B
  3. 打开TestC

现在,当我关闭 TestB AfxMessageBox(L"B closed"); 在我关闭 TestC 对话框之前不会运行。

为什么会这样?

4

0 回答 0