// CMyDialog inherits from CDialog
void CMyFrame::OnBnClickedCreate()
{
CMyDialog* dlg = new CMyDialog();
dlg->Create(IDD_MYDIALOG, m_thisFrame);
dlg->ShowWindow(SW_SHOW);
}
我敢肯定,这泄漏。我真正要问的是:MFC中是否有任何“魔术”,当对话被销毁时会进行对话清理。如果dlg不是一个指针而是在堆栈中声明的话,它会如何工作 - 当dlg超出范围时,析构函数是不是会销毁该窗口。这是在MFC内存泄漏
谢谢。我忘了说这是一个无模式对话框。我假设在这种情况下清理对话框对象必须是一个成员变量 - 所以它可以在框架析构函数中销毁/取消分配。 – Richard 2009-06-03 11:10:15