窗口关闭做了什么?
2010-02-02 10:12
253 查看
在单文档视图程序中,程序退出时执行的操作顺序为:
(1)用户点击退出按钮,发送了WM_CLOSE消息----->响应函数为OnClose()
(2)在OnClose中,调用DestroyWindow()----->销毁与指定CWnd窗口对象关联的窗口,但未销毁CWnd对象
(3)在DestroyWindow()中发送了WM_DESTROY消息----->响应函数为OnDestroy()
(4)在OnDestroy中调用PostQuitMessage(),发送WM_QUIT消息,结束消息循环
而对话框的OnOK和OnCancel则均调用了CDialog:: EndDialog。EndDialog函数与OnClose类似且属于同一"级别"。因此,将上面的过程中的OnClose换成EndDialog即可。
(1)用户点击退出按钮,发送了WM_CLOSE消息----->响应函数为OnClose()
(2)在OnClose中,调用DestroyWindow()----->销毁与指定CWnd窗口对象关联的窗口,但未销毁CWnd对象
(3)在DestroyWindow()中发送了WM_DESTROY消息----->响应函数为OnDestroy()
(4)在OnDestroy中调用PostQuitMessage(),发送WM_QUIT消息,结束消息循环
而对话框的OnOK和OnCancel则均调用了CDialog:: EndDialog。EndDialog函数与OnClose类似且属于同一"级别"。因此,将上面的过程中的OnClose换成EndDialog即可。
相关文章推荐
- 使用什么快捷键,关闭、打开、最小化qq聊天窗口
- 使用什么快捷键,关闭、打开、最小化qq聊天窗口
- win2000远程桌面登陆。断开?注销?直接关闭远程桌面窗口?各有什么区别?谁能给个权威的答案?
- mdi子窗口关闭的时候,主窗口产生什么事件?
- js 关闭当前窗口时弹出警告框
- js 弹出全屏窗口 关闭赋值
- java初级,窗口关闭与button与事件响应
- Win7 打开或关闭Windows功能 窗口空白 解决方案(转载)
- 客户区和非客户区指的什么?窗口客户区和视图客户区的区别
- fancybox 关闭弹出窗口 parent.$.fancybox.close(); 无反应 fancybox 关闭弹出窗口父页面自动刷新,弹出子窗口前后事件
- 用javascript实现始终保持打开同一个子窗口以及关闭父窗口同时自动关闭所有子窗口
- 在子窗口中关闭父窗口的一句代码
- 【转】C#关闭IE相应的窗口
- MVVM模式下关闭窗口的实现
- window.showmodaldialog 关闭父窗口刷新
- 设计一个有3个超链接的页面,单击这些链接时分别打开和关闭窗口以及关闭本身窗口。
- js关闭IE窗口
- C# WINForm 如何关闭系统进程,调用cmd并执行命令(隐藏CMD窗口) - 赤色火焰 - 京华志
- js关闭当前弹出的小窗口并打开新窗口