创建无模式的CDHtmlDialog对话框,在销毁时不能释放内存,跪求高手的帮助,该怎么解决
创建无模式的CDHtmlDialog对话框,在销毁时不能释放内存,跪求高手的帮助
创建对话框的代码:
CHtmlDlg * HtmlDlg=new CHtmlDlg();
HtmlDlg->Create(IDD_DIALOG_SHOWHTML);
HtmlDlg->ShowWindow(SW_SHOW);
销毁的代码(重载OnCancel()):
void CHtmlDlg::OnCancel()
{
CDHtmlDialog::OnCancel();
DestroyWindow();
}
重载WM_DESTROY消息
void CPostHtmlDlg::OnDestroy()
{
CDHtmlDialog::OnDestroy();
// TODO: 在此处添加消息处理程序代码
delete this;
}
我的程序会不断的创建该对话框,然后销毁,结果内存占用越来越大,不知道该怎样正确销毁该对象,还请高手帮忙啊~
------解决方案--------------------
void CHtmlDlg::OnCancel()
{
CDHtmlDialog::OnCancel(); //把这行去掉
DestroyWindow();
}
如果是对话框的话只重载OnCancel应该不可以把,还需要OnOK,OnClose都重载了吧
创建对话框的代码:
CHtmlDlg * HtmlDlg=new CHtmlDlg();
HtmlDlg->Create(IDD_DIALOG_SHOWHTML);
HtmlDlg->ShowWindow(SW_SHOW);
销毁的代码(重载OnCancel()):
void CHtmlDlg::OnCancel()
{
CDHtmlDialog::OnCancel();
DestroyWindow();
}
重载WM_DESTROY消息
void CPostHtmlDlg::OnDestroy()
{
CDHtmlDialog::OnDestroy();
// TODO: 在此处添加消息处理程序代码
delete this;
}
我的程序会不断的创建该对话框,然后销毁,结果内存占用越来越大,不知道该怎样正确销毁该对象,还请高手帮忙啊~
------解决方案--------------------
void CHtmlDlg::OnCancel()
{
CDHtmlDialog::OnCancel(); //把这行去掉
DestroyWindow();
}
如果是对话框的话只重载OnCancel应该不可以把,还需要OnOK,OnClose都重载了吧