MFC编写的智能设备应用程序,有些自己创建的GDI资源需要释放,以免造成内存泄露。这样有些代码想放到主对话框的析构函数中。这时会发现找不到主对话框的析构函数,只能看到构造函数。
这就需要自己来为主对话框添加析构函数。
如:
头文件中添加:virtual ~CConFontChDlg();
一定要加上virtual关键字,否则在主窗口销毁时,将不会调用我们自己创建的析构函数。
源文件中,在构造函数下面添加:
CConFontChDlg::~CConFontChDlg()
{
...
}
这样就可以在析构函数中,添加我们想添加的代码了。
至于我们的主对话框在销毁的时候,是否真正的调用了我们自己添加的析构函数。我们可以做一下测试。如:

本文介绍了如何为MFC应用程序的主对话框添加自定义析构函数,以释放GDI资源防止内存泄漏。通过在头文件声明virtual ~CConFontChDlg()并在源文件中实现,确保在主窗口销毁时调用该析构函数。为了验证析构函数的正确调用,可以通过在析构函数中添加TRACE宏进行测试,当在VS2005的输出窗口看到相应信息时,表明析构函数已正确执行。

357

被折叠的 条评论
为什么被折叠?



