清泛IT社区

搜索
App Inventor 2 中文社区 轻松创建Apps

扫码访问移动社区 移动社区,您的掌上技术专家

关注我,精彩不错过! 关注我,精彩不错过!

扫码安装最新版AI伴侣 最新版AI伴侣v2.69

Aia Store .aia 源码一站式解决方案 发布日志AI2连接测试ai2Starter模拟器

开通VIP送小红花App Inventor 2 拓展有奖征文 VIP会员享专有教程,免费赠送基础版*技术支持服务! AI2入门必读中文文档中文教程IoT专题

查看: 388|回复: 0
打印 上一主题 下一主题

MFC中MDI消息处理流程

  • TA的每日心情
    开心
    2024-03-14 20:36
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    70

    主题

    117

    帖子

    1365

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1365
    跳转到指定楼层
    楼主
    发表于 2016-01-26 13:40:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在MFC中,消息是通过一个向上递交的方式进行处理,例如一个WM_COMMAND消息的处理流程可能为:  

    1) MDI主窗口(CMDIFrameWnd)收到命令消息WM_COMMAND,其ID位ID_XXX;  
    2) MDI主窗口将消息传给当前活动的MDI子窗口(CMDIChildWnd);  
    3) MDI子窗口给自己的子窗口(View)一个处理机会,将消息交给View;  
    4) View检查自己Message Map;  
    5) 如果View没有发现处理该消息的程序,则将该消息传给其对应的Document对象;否则View处理,消息流程结束。  
    6) Document检查自己Message Map,如果没有该消息的处理程序,则将该消息传给其对象的DocumentTemplate处理;否则自己处理,消息流程结束;  
    7) 如果在6)中消息没有得到处理,则将消息返回给View;  
    8) View再传回给MDI子窗口;  
    9) MDI子窗口将该消息传给CwinApp对象,CwinApp为所有无主的消息提供了处理。   

    MFC提供了消息的处理的链式处理策略,处理消息的请求将沿着预先定义好的路径依次进行处理。消息的发送者并不知道该消息最后是由那个具体对象处理的,当然它也无须也不想知道,但是结构是该消息被某个对象处理了,或者一直到一个终极的对象进行处理了。

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    © 2024 tsingfun.com, Inc.  沪ICP备2020034476号-1  沪公网安备31011702000040号

    GMT+8, 2024-05-19 17:52 , Processed in 0.014240 second(s), 28 queries .