(1)用户点击退出按钮,发送了WM_CLOSE消息
(2)在WM_CLOSE消息的处理函数中,调用DestroyWindow()
(3)在DestroyWindow()中发送了WM_DESTROY消息
(4)在WM_DESTROY消息中调用PostQuitMessage(),发送WM_QUIT消息,结束消息循环
综上,程序先调用OnClose()(也可能不调用),然后调用OnDestroy()(必调用).
所以,如果要进行程序结束时的清理工作,应该在OnDestroy()中,而不是在OnClose(),否则就有可能会出现内存泄漏的危险了!
本文详细解析了MFC应用程序退出时的消息处理流程,包括从用户点击退出按钮开始到程序完全关闭的过程。重点介绍了OnClose()与OnDestroy()函数的作用及调用时机,帮助开发者理解如何正确地进行资源清理。
1万+

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



