创建了一个简单的 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");
}
问题发生在
- 公开测试A
- 开放测试B
- 打开TestC
现在,当我关闭 TestB AfxMessageBox(L"B closed"); 在我关闭 TestC 对话框之前不会运行。
为什么会这样?