请教窗口对象的自动清除的问题
sundy 2000-02-24 11:35:00 对于一个非模态对话框来说,其对象是创建在堆中的,因此应该具有自动清除功能。
因为是用new操作符构建非模态对话框对象,因此必须在对话框关闭后,用delete操作符删除对话框对象。在屏幕上一个窗口被删除后,框架会调用CWnd::PostNcDestroy,这是一个虚拟函数,程序可以在该函数中完成删除窗口对象的工作,具体代码如下
void CModelessDialog::PostNcDestroy
{
delete this; //删除对象本身
}
这样,在删除屏幕上的对话框后,对话框对象将被自动删除。拥有者对象就不必显式的调用delete来删除对话框对象了。
以上的话我就有一点不明白了,什么时候会自动删除呢?我不管它,一律用delete显式删除,行不行呢?