关闭对话框的方法
来源:互联网 发布:小东北烤肠淘宝 编辑:程序博客网 时间:2024/05/18 13:43
参考网上资料,对话框关闭流程如下:
从用户单击关闭按钮(标题栏最右边)或者用鼠标或键盘选择系统菜单的“关闭”选项,直到窗口消失,应用程序结束。这期间到底发生了什么呢?
1、首先会产生一个WM_SYSCOMMAND消息,如果程序员没有对此消息进行拦截,则由缺省的窗口函数DefWindowProc进行处理,如果表达式(LOWORD(wParam)&0xFFF0)==SC_CLOSE 成立,DefWindowProc发出一个WM_CLOSE消息。
2、同样,如果程序员没有对WM_CLOSE消息进行拦截,则还是由DefWindowProc进行处理,这次,她只简单的调用DestroyWindow函数,DestroyWindow先把窗口破坏掉,使用户看不到窗口。但是窗口破坏后,应用程序并没有结束,于是DestroyWindow再接再励,送出了一个WM_DESTROY消息。
3、这一次,WM_DESTROY被载获了,通常是会有这样的句子:
case WM_DESTROY:
PostQuitMessage(0);
...
这里PostQuitMessage函数很简单的发送一个WM_QUIT消息来响应WM_DESTROY
4、WM_QUIT消息非常特殊,她使GetMessage函数返回0,从而结束了消息循环,
应用程序从此结束。
关于关闭对话框,统计几种关闭方法:
- 向主窗口发送WM_CLOSE消息,使得主窗口调用OnClose函数销毁
- 直接调用CDialog:OnOK()函数
- 关闭对话框的方法
- 一种自动关闭对话框的简单方法
- 一种自动关闭对话框的简单方法
- 一种自动关闭对话框的简单方法
- 自动关闭的对话框
- 控制对话框的关闭
- MFC对话框按回车和Esc不会关闭的方法
- mfc 关闭对话框的各种消息与方法
- MFC中防止Enter和ESC关闭对话框的方法
- java Swing 弹出新对话框的方法,以及关闭新对话框遇到的问题和解决方法
- Javascript中使用对话框,在对话框关闭时刷新前页面的方法
- Javascript中使用对话框,在对话框关闭时刷新前页面的方法
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
- flex effect说明
- vc学习路线
- Unity3D 3.5寻路API简单介绍及视频教程
- android搭环境,工具下载
- flex 用法总结【经典】 .
- 关闭对话框的方法
- 游戏准备资料
- 负载均衡设计
- HDU 1272 小希的迷宫 并查集
- 如何给MFC对话框添加背景图片
- 实现在线日历
- Java7K面试题——银行业务调度系统
- 正则表达式在javascript中的应用
- “开源”是什么,能吃吗?