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;
一个主窗口 ,上有一个按钮。
每点击一次按钮 , 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;