mfc中消息传递的机制是先从鼠标焦点的界面开始吗

 我来答
bhtzu
2014-11-12 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4230万
展开全部
不是。
消息是基于线程的,而标准消息通常是基于进程下的窗口的。每个活动进程下的常规状态窗口,都有自己的消息环,并独立响应消息。
而这个“开始”是没法说的,因为这涉及进程间关系和线程间关系。在同一个进程的主线程中,由主线程逐一创建窗口(如果有),每个窗口创建自己的消息环,并在窗口创建完毕后开始响应消息,你说哪里是开始呢?
MFC下,第一个创建的是APP进程类和主窗口类,而消息响应也不是这个概念,以MDI多文档为例,鼠标消息是系统消息,当鼠标消息传递到程序后,APP类会获取鼠标位置,并将消息传递给鼠标所在的当前焦点窗口。如果是在客户区,那么首先会传递给框架ChildFrame,有子框架传递给View。如果鼠标不在当前焦点子框架内,消息会传递给主框架MDIMainFrame,再由主框架处理或发送给对应位置的子窗口(如工具条等)。总之,系统消息是“向下”逐级传递的,不是由焦点开始,而是焦点有优先接收权。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式