创建无模式的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都重载了吧