如何在C ++中关闭无模式MFC对话框

时间:2015-06-25 00:33:14

标签: c++ mfc dialog

当我关闭主应用程序时,我有一个无模式对话框,有时会留在屏幕上。如果我手动关闭它,所有析构函数都会被正确调用。但到目前为止,如果我尝试通过C ++代码进行操作,我会在Debug版本中遇到问题,这些问题并不能让我对Release版本中发生的事情充满信心。

关闭模型对话框的正确方法是什么? PostQuitMessage()的文档表明它关闭了整个线程(是在单独的线程中运行的无模式对话框,还是只是单个MFC App UI线程的一部分?)。致电DestroyWindow()让我在实践中遇到问题。发送WM_CLOSE感觉不太合适。 CWnd::EndDialog()仅适用于模态对话框。这些......还是其他地方的正确答案是什么?

1 个答案:

答案 0 :(得分:1)

请参阅CDialog的MSDN页面。该页面的最后一段提供了关闭无模式对话框的详细说明。