WM_DESTROY ,WM_CLOSE,WM_QUIT
来源:互联网 发布:ubuntu怎么挂载u盘 编辑:程序博客网 时间:2024/05/19 18:42
WM_DESTROY 是关闭程序的WM_CLOSE 是关闭窗口的WM_QUIT 是关闭消息环的以下说明程序是如何退出的:
使用者选按,于是发出 WM_CLOSE。CMyFrameWnd 并没有设置WM_CLOSE 处理常式,于是交给预设之处理常式。WM_CLOSE,调用DestroyWindow()DestroyWindow()又发送WM_DESTROY响应WM_DESTROY,调用WM_QUITGetMessage()发现WM_QUIT,退出程序预设函数对于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,结束程序--------------------------------------------------------1楼:
一般是响应WM_CLOSE,调用DestroyWindow()
DestroyWindow()又发送WM_DESTROY
响应WM_DESTROY,调用PostQuitMessage(),
GetMessage()发现WM_QUIT,退出程序2楼:
先,例如你在系统菜单里选择了“关闭”或者点击了窗口又上角的那个“X”按钮,你的窗口过程就会收到WM_CLOSE。DefWindowProc对WM_CLOSE的处理是调用DestroyWindow。当然,你可以不让DefWindowProc处理,而是自己处理,例如询问用户是否保存更改等。如果用户选择“取消”,你忽略此消息,那么程序照常运行;如果用户确认要退出,你就调用DestroyWindow。
接下来,DestroyWindow完成窗口的清理工作,最后像窗口过程发送WM_DESTROY。对于WM_DESTROY,DefWindowProc不会处理。也就是说,你如果不处理这个消息,虽然你的窗口已经销毁,但进程并不会结束。一般处理WM_DESTROY时都是释放资源(例如申请的内存等),然后调用PostQuitMessage。
PostQuitMessage会发送WM_QUIT给消息队列。注意,WM_QUIT永远不会到达窗口过程,因为GetMessage得到WM_QUIT后就会返回FALSE,从而结束消息循环,最后进程结束,程序退出。3楼:
close是关闭窗口,
destroy是销毁窗口,windows的一般处理是PostQuitMessage即发送一个quit消息,即退出消息循环
- WM_QUIT,WM_CLOSE,WM_DESTROY
- WM_DESTROY、WM_CLOSE和WM_QUIT
- WM_CLOSE、WM_QUIT、WM_DESTROY区别
- WM_DESTROY, WM_CLOSE, WM_QUIT 区别
- WM_CLOSE WM_DESTROY WM_QUIT 区别
- WM_DESTROY ,WM_CLOSE,WM_QUIT
- WM_QUIT,WM_CLOSE,WM_DESTROY .
- WM_CLOSE WM_DESTROY WM_QUIT 区别
- WM_CLOSE, WM_DESTROY, WM_QUIT
- WM_CLOSE WM_DESTROY WM_QUIT 区别
- WM_CLOSE WM_DESTROY WM_QUIT 区别
- WM_QUIT,WM_CLOSE,WM_DESTROY
- WM_CLOSE WM_DESTROY WM_QUIT 区别
- WM_QUIT,WM_CLOSE,WM_DESTROY
- WM_CLOSE WM_DESTROY WM_QUIT消息
- WM_QUIT,WM_CLOSE,WM_DESTROY
- WM_CLOSE、WM_DESTROY、WM_QUIT
- WM_CLOSE WM_DESTROY WM_QUIT 区别
- 香港民建联147名选委决定全部投票支持梁振英
- 几种常见类型的转换
- 国内外软件开发上的差距与分析
- RMQ问题之Sparse_Table算法
- Skype 协议分析(2006版)
- WM_DESTROY ,WM_CLOSE,WM_QUIT
- Java 日期整理
- 归并排序
- SPOJ 694 Distinct Substrings
- Win7下安装VC6.0(转)
- Linux驱动开发学习的一些必要步骤
- 强制转换const 引用
- C/C++拾遗——main函数
- css之自动换行