WM_CLOSE 消息,当"关闭"按钮被单击的时候(而不是我们眼睛所见的对话框从屏幕上消失时),发送该消息。 消息响应函数:OnClose(),响应用户在响应OnOk()或者OnCancel()函数之后,不会发送WM_CLOSE消息
WM_DESTROY 消息,当一个窗口即将被销毁时,消息被发送。 响应函数,响应OnDestroy(),
WM_QUIT 消息,窗口被销毁了,在此结束消息循环
综上,程序退出时执行的操作顺序为
(1)用户点击退出按钮,发送了WM_CLOSE消息
(2)在WM_CLOSE消息的处理函数中,调用DestroyWindow()
(3)在DestroyWindow()中发送了WM_DESTROY消息
(4)在WM_DESTROY消息中调用PostQuitMessage(),发送WM_QUIT消息
程序先调用OnClose()(也可能不调用),然后调用OnDestroy()(必调用),所以,如果要进行程序结束时的清理工作,应该在OnDestroy()中,而不是在OnClose(),否则就有可能会出现内存泄漏的危险。