new 出来的 Dialog , 关闭后怎么从内存中销毁

new 出来的 Dialog , 关闭后如何从内存中销毁
一个主窗口   ,上有一个按钮。
每点击一次按钮   ,   new   出一个Dialog,   Create后,Show出来(非模态)。
请问:用户关闭窗体(触发Close事件),如何释放该窗体占用的内存空间?
delete   语句应在哪里调用?需要调用   DestoryWindow   方法吗?

------解决方案--------------------
可以试试在PostNcDestroy中delete this
------解决方案--------------------
通常关闭窗体后,会需要一些后续处理
所以,立即释放的流程应该是

{
CDialog1 *pDialog = new CDialog1;
pDialog-> Domodal();
//--关联pDialog的数据处理
delete pDialog;
}


------解决方案--------------------
OnClose过程中向主窗体post一条自定义消息,把this指针当作参数传递,主窗体处理自定义消息,用IsWindow判断子窗体是否存在,如果不存在,则delete
------解决方案--------------------
对话框中响应WM_NCDESTROY消息或者重载OnNcDestroy()虚拟函数:
delete this;