WM_QUIT,WM_CLOSE,WM_DESTROY
来源:互联网 发布:js删除a标签的父div 编辑:程序博客网 时间:2024/06/05 03:43
WM_DESTROY 是关闭程序
WM_CLOSE 是关闭窗口
WM_QUIT 是关闭消息环
WM_CLOSE和WM_DESTROY同属窗口消息,WM_QUIT则不在窗口消息之列。三者先后执行顺序是WM_CLOSE、WM_DESTROY、WM_QUIT
但需要注意的是MFC窗口默认取消按钮函数OnCancel()是不会触发WM_CLOSE消息,只触发WM_DESTROY。
WM_CLOSE:
在系统菜单里选择了“关闭”或者点击了窗口右上角的“X”按钮,你的窗口过程就会收到WM_CLOSE。DefWindowProc对WM_CLOSE的处理是调用DestroyWindow。当然,你可以不让DefWindowProc处理,而是自己处理,例如询问用户是否保存更改等。如果用户选择“取消”,你忽略此消息,那么程序照常运行;如果用户确认要退出,你就调用DestroyWindow。
WM_DESTROY:
DestroyWindow完成窗口的清理工作,最后像窗口过程发送WM_DESTROY。对于WM_DESTROY,DefWindowProc不会处理。也就是说,你如果不处理这个消息,虽然你的窗口已经销毁,但进程并不会结束。一般处理WM_DESTROY时都是释放资源(例如申请的内存等),然后调用PostQuitMessage。
WM_QUIT:
PostQuitMessage会发送WM_QUIT给消息队列。注意,WM_QUIT永远不会到达窗口过程,因为GetMessage得到WM_QUIT后就会返回FALSE,从而结束消息循环,最后进程结束,程序退出。
假设使用者执行HELLOWIN.exe,并且使用者最终单击了 Close按钮,或者假设用键盘或鼠标从系统菜单中选择了Close,DefWindowProc处理这一键盘或者鼠标输入,在检测到使用者选择了Close选项之后,它给窗口消息处理程序发送一条WM_SYSCOMMAND消息。WndProc将这个消息传给DefWindowProc。DefWindowProc给窗口消息处理程序发送一条WM_CLOSE消息来响应之。WndProc再次将它传给DefWindowProc。DestroyWindow呼叫DestroyWindow来响应这条WM_CLOSE消息。DestroyWindow导致Windows给窗口消息处理程序发送一条WM_DESTROY消息。WndProc再呼叫PostQuitMessage,将一条WM_QUIT消息放入消息队列中,以此来响应此消息。这个消息导致WinMain中的消息循环终止,然后程序结束。
- 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 区别
- mysql数据库中unexpected DECLARE_SYM
- 使用eclipse不小心删除部分文件后如何恢复文件
- 带通配符的字符串匹配问题
- 最快速的Android开发环境搭建ADT-Bundle及Hello World
- Yii main文件配置的一些说明
- WM_QUIT,WM_CLOSE,WM_DESTROY
- iOS 类别
- AfxBeginThread第二个参数LPVOID pParam的使用
- Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性
- MYSQ海量数据优化
- LoG算子
- WCF入门--纯代码实现启动及引用WCF
- 相爱只是一瞬间,而等待却是无期限的
- 常见Java面试题