mfc 模态窗口内存使用释放问题 如何彻底销毁模态窗口的内存使用

在Dlg1中 BUTT按下 Dlg2* Dlg = new Dlg2() Dlg.Create() .... 创建模态窗口后 我发现 关闭该模态窗口 内存并不会销毁 我尝试过 Dlg:: OnDestroy 消息 进行 delete this 但内存依然不会被销毁请求讲解
2026年09月28日 18:30
有2个网友回答
网友(1):

是这样的。OnDestroy函数仅仅是删除与窗口相关的数据,就是你调用Dlg.Create()需要使用到的数据,而不会删除new Dlg2() 所分配的内存,但是在Dlg:: OnDestroy函数里面调用delete this应该是可以销毁掉的,请问您是怎么判断内存没有被销毁的。

网友(2):

你试试再在WM_NCDESTROY里进行delete this,而不是在WM_DESTORY里。