解决方案 »
- CTreeCtrl 有关节点文本字体的及时更新
- 编译驱动时总出现error LNK2001: unresolved external symbol _DriverEntry@8错误,怎么解决
- 关于多线程互斥的问题,请知道的给一个解决方案,多谢
- 关于vc中使用MakeFile文件
- 哪位老兄知道现在的正版英文VC6.0要多少钱?
- 用什么容器(或是编程方法)可以在MFC的Diolog模式下显示一个已做好的flash动画?
- 关于字符串的问题。
- 如何清除ListControl控件里面的所有条目
- 各位下载完msdn2000的朋友们帮忙啦。我该怎么做????^_^
- 怎样在对话框中获取复合键的输入
- keybd_even问题
- MFC中,我把工程由原来的动态库改为静态库,编译就出错了
如果你打算都在堆中生成CFileRecvDlg对象
覆盖CFileRecvDlg::PostNcDestroy虚函数
写上delete this
可以在析构函数中进行
#ifndef DELETE_PTRA #define DELETE_PTRA(p) if(p){delete[] p;p=NULL;} #endif if(m_pRecvDlg)
{
if(IsWindow(m_pRecvDlg->m_hWnd))
DestroyWindow(m_pRecvDlg->m_hWnd);
DELETE_PTRA(m_pRecvDlg);
}
new出来的内存你都没有释放,当然会泄露的
http://qiusuoge.com/8593.html
即 DestroyWindow
你可以理解为 销毁窗口句柄,即HWND ,但是窗口对象本身也是一个C++对象,销毁窗口句柄并不代表也删除了C++对象呀!对象如何删除,这有牵扯到堆和栈的问题......
子窗口销毁是指你不能在用它了,但是它的一些数据还保存在内存中,没有经过正确释放(清理),所以debug时会提示你有内存泄漏,但是如果你主程序退出了,那么windows会帮助你释放这块内存。