文件名称:MFC中解决子线程中打开非模态对话框内存泄漏实例(VC++2008)
文件大小:128KB
文件格式:RAR
更新时间:2017-04-16 02:11:21
内存泄漏 MFC VC++2008 多线程 非模式对话框
子线程中打开非模式对话框内存泄漏问题 这个问题困扰已久 网上没有完整的解决方案;现将实例源代码分享给大家 希望对您有帮助 (代码是VS2008下编写的) 问题原因: 对话框的默认关闭方式模式对话框关闭 而现在是以非模式对话框方式打开 所以关闭的时候要把模式对话框的处理屏蔽 解决方案如下: 重写对话框的PostNcDestroy OnClose OnDestroy 具体代码如下: void CMyDlg::PostNcDestroy { TODO: 在此添加专用代码和 或调用基类 delete this; CDialog::PostNcDestroy ; } void CMyDlg::OnClose { TODO: 在此添加消息处理程序代码和 或调用默认值 this >DestroyWindow ; CDialog::OnClose ; } void CMyDlg::OnDestroy { CDialog::OnDestroy ; PostQuitMessage 0 ; TODO: 在此处添加消息处理程序代码 } 另外默认的Ok Cancel按钮换成 void CMyDlg::OnBnClickedOk { TODO: 在此添加控件通知处理程序代码 OnOK ; this >DestroyWindow ; } void CMyDlg::OnBnClickedCancel { TODO: 在此添加控件通知处理程序代码 OnCancel ; this >DestroyWindow ; }">子线程中打开非模式对话框内存泄漏问题 这个问题困扰已久 网上没有完整的解决方案;现将实例源代码分享给大家 希望对您有帮助 (代码是VS2008下编写的) 问题原因: 对话框的默认关闭方式模式对话框关闭 而现在 [更多]
【文件预览】:
MyMultiThread
----resource.h(730B)
----MyMultiThread.cpp(2KB)
----NewThread.cpp(655B)
----MyMultiThread.vcproj.adamswater-PC.adamswater.user(1KB)
----stdafx.h(2KB)
----ReadMe.txt(3KB)
----res()
--------MyMultiThread.rc2(369B)
--------MyMultiThread.ico(66KB)
----MyDlg.cpp(1KB)
----stdafx.cpp(146B)
----MyMultiThread.rc(6KB)
----NewThread.h(349B)
----MyMultiThreadDlg.cpp(3KB)
----MyMultiThread.vcproj(6KB)
----MyMultiThread.h(487B)
----targetver.h(1KB)
----MyDlg.h(506B)
----MyMultiThread.aps(103KB)
----MyMultiThreadDlg.h(641B)
MyMultiThread.sln