MFC消息路由机制详细介绍

2796 人浏览 | 时间: 2015-06-07 19:30:45 | 作者: codexia

MFC消息路由机制的生成检测和执行过程如下。

1.类向导生成

    消息处理分为三个部分,第一个是消息映射,第二个是处理函数声明,第三个是处理函数定义。类向导在生成消息映射处理时做的就是这三个工作。

    当双击一个窗口模板(编辑窗口时的窗口叫做窗口模板,运行时看到的才叫做窗口),类向导检测消息映射窗口有没有对应消息映射声明,如果没有则提示为窗口添加处理类。此类就默认自动创建好后就添加好了,消息映射声明和消息映射框架,以及相关的额数据交换声明和数据控件验证声明。因为每个窗口都需要窗口函数进行消息处理,所以消息映射声明就已经将窗口的内部消息处理机制进行了声明和包装。留下消息映射对作为消息处理的接口。因此,我们只需要在这个接口中就可以实现消息处理。当然,类和窗口模板是分开的,要将窗口和类进行关联,就好比API中通过窗口函数回调函数的函数指针进行关联。MFC中通过enum { IDD = 窗口ID };语句将类与窗口进行关联,内部完成的操作就是回调函数的指定。而每个消息的封装,都是封装到了消息处理函数中,也就是在消息映射对里面提供的接口。还可能提供构造函数和析构函数的声明和空定义。空白窗口模板启动类向导就做这些事情。

    当非空白的窗口模板双击了控件,则类向导根据控件的ID和内部定义的操作类型确定窗口的事件消息和消息类型,然后提示输入处理函数名,然后创建一个消息映射,此间的工作就是消息处理的三步。

2.编译检测

    编译时,检测实现文

请微信扫码阅读。
为防止恶意爬虫,
已开启反爬机制,
理解哟~~~~
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
收藏 0 点赞 0

相关阅读