本文主要是介绍关闭程序窗口函数调用过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
使用者选按关闭按钮,于是发出 WM_CLOSE。CMyFrameWnd 并没有设置WM_CLOSE 处理常式,于是交给预设之处理常式。
预设函数对于WM_CLOSE 的处理方式是呼叫 ::DestroyWindow, 并因而发出WM_DESTROY。
预设之WM_DESTROY 处理方式是呼叫::PostQuitMessage,因此发出WM_QUIT。
CWinApp::Run 收到WM_QUIT 后会结束其内部之讯息回路, 然后呼叫ExitInstance,这是CWinApp 的一个虚拟函数。
如果CMyWinApp 改写了ExitInstance , 那么CWinApp::Run 所呼叫的就是CMyWinApp::ExitInstance,否则就是 CWinApp::ExitInstance。
最后回到 AfxWinMain,执行 AfxWinTerm,结束程序。
WM_CLOSE,调用DestroyWindow()
DestroyWindow()又发送WM_DESTROY
响应WM_DESTROY,调用WM_QUIT
GetMessage()发现WM_QUIT,退出程序
这篇关于关闭程序窗口函数调用过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!