首页 新闻 会员 周边 捐助

一个win窗口是如何同时控制所有窗口中的控件运行的呢

0
悬赏园豆:5 [待解决问题]
刚学MFC,有个疑问,我们都知道,一个win程序一般有一个主窗口,这个主窗口应该是一个进程控制的,但是窗口上的控件却是可以独自运行并变化的,这是为什么呢,这里的程序(win后台)是怎么组织的,难道是一个控件一个线程,明显不是啊,请懂的人解释一下呗
希望说明下原理~~
矩阵旋转的主页 矩阵旋转 | 初学一级 | 园豆:197
提问于:2013-05-08 21:13
< >
分享
所有回答(1)
0

2013年发的,7年了估计问题早就过时了,不过还是说一下吧。
wimdows是通过消息机制实现人机交互的,无论是MFC,还是基础的win32程序,其程序入口点函数中创建完窗口啦,控件啦后,就会发现有一个循环,这个就是消息的主循环,程序不停地从消息队列中获取消息,翻译消息,给消息回调函数,开发者在回调函数中编写响应消息的代码,刚学windows这种编程,又学过多线程,的确会感觉程序是多线程才运行的起来,每个控件都能随着用户的鼠标键盘的操作产生不同的反应,但是程序事实上是单线程的,用户的一些操作如鼠标点击,键盘输入,windows都会把消息放入程序的消息队列中,程序再逐个处理消息的

fenggwsx | 园豆:269 (菜鸟二级) | 2020-07-16 17:45
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册