window程序一个线程中可以有几个消息队列?和几个消息循环
来源:互联网 发布:java 视频播放控件 编辑:程序博客网 时间:2024/05/16 08:54
参看:http://wenku.baidu.com/link?url=Z9UcZPaN0lf9u4MwtkSvt4do3kCPuHISedW3CLyzXsr2uDvhZauc0ziwsYTOK_F2r_ffbnI6myevV7WxaD1WKzD8u1QYTOjh7H86rXdtkQy
在windows中一个线程只有一个消息队列(PostMessage消息队列),非模态对话框的消息在主线程的消息循环中处理,对于模态对话框,其先禁止主窗口,然后自己建立一个消息循环进行消息处理,对话框结束后,停止对话框自己的消息循环,然后enable主窗口。
所以,一个线程中只有一个消息队列(PostMessage消息队列),但是可能存在主线程消息循环外的其他局部消息循环,但是他们不会并行执行。
模态对话框与非模态对话框的内部机制区别:
非模态对话框与APP共用消息循环,不会独占用户 ;模态对话框独占用户输入,其他界面无法响应,有自己的消息循环;
模态对话框的具体实现有以下步骤:
1.让父窗口失效EnableWindow(parentWindow, FALSE);
2.建立模态对话框自己的消息循环(RunModalLoop);
3.直至接收关闭消息,消息循环终止,并销毁窗口。
具体代码:
模态对话框中的消息循环:
线程主消息循环:
当模态对话框显示时,进入模态对话框的消息循环,除非将模态对话框关闭,否则APP的DispatchMessage函数一直出不来。
http://blog.csdn.net/xiaoxiaoyusheng2012/article/details/45484669
- window程序一个线程中可以有几个消息队列?和几个消息循环
- window程序一个线程中可以有几个消息队列?和几个消息循环
- FAQ12:每个线程一个消息队列?还是线程中的每个窗口各有一个消息队列?
- MFC消息循环中几个函数的差异
- 一个GUI程序究竟会有几个线程?
- 线程中添加消息循环
- Handler ,消息队列 和线程
- 消息队列与消息循环
- Window消息循环补遗
- Android中消息机制初探(创建一个可以接收消息的子线程)
- 现在公布几个消息
- MFC中的几个消息
- 线程通信程序---消息队列(Linux)
- 消息和消息队列
- MFC中消息循环处理的几个函数之间的区别
- MFC中消息循环处理的几个函数之间的区别
- MFC中消息循环处理的几个函数之间的区别
- MFC中消息循环处理的几个函数之间的区别
- vue-cli 配置多页面应用
- C语言再学习 -- 内存管理
- Java中的System类
- Realm
- gem install sass 本地配置和淘宝源无效的解决办法
- window程序一个线程中可以有几个消息队列?和几个消息循环
- 关于VMWare中Linux的默认root账号密码
- 用SAXReader解析xml文档
- Scala函数学习
- win7共享打印机
- 学习笔记之JavaSE(19)--面向对象编程10
- Tomcat的目录文件列表显示功能
- Archlinux下的firefox安装flash插件
- Android 写输入编辑框增加@功能,@相关字符高亮