为了账号安全,请及时绑定邮箱和手机立即绑定

VC++中消息映射函数定义中的Afx_msg是什么类型?

VC++中消息映射函数定义中的Afx_msg是什么类型?

汪汪一只猫 2019-02-13 15:11:30
VC++中消息映射函数定义中的Afx_msg是什么类型?
查看完整描述

4 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

afx_msg表示的是一个消息响应函数。

它的定义为空,用的是BEGIN_MESSAGE_MAP把消息函数的函数指针联系起来

查看完整回答
反对 回复 2019-03-26
?
慕尼黑5688855

TA贡献1848条经验 获得超2个赞

MFC的历史

开始,Microsoft建立了一个AFX小组,AFX代表Application Framework,即应用程序框架。据说创建该小组原意是为了发布一个Borland C++的OWL的竞争性产品,因为那时侯Borland 公司的应用程序框架OWL(object Windows Language)已经做的相当成功。AFX小组象OWL那样,提出了一个高度抽象Windows API的一个类库。

他们采用自顶向下的设计方法,逐步将对象抽象出来,并施加到Windows上。然后,他们试着花了几个月时间用这个类库来编写应用程序,结果发现这个类库偏离Windows API实在太远,过分抽象并没有太大的实用性,相反大大降低了应用程序的效率。

于是,他们干脆放弃了整个AFX类库,对类库进行重新设计。这次,他们采用了自底向上的方法,从已有的Windows API着手,将类建立在Windows API对象基础上,设计出后来成为MFC1.0的一个类库。但是,你现在仍然可以看到AFX时期的痕迹,许多源程序文件有afx前缀,如afxabort.cpp,afxmem.cpp。MFC延用了许多AFX类库的宏,因此我们经常会看到以AFX开头的宏。

AFX小组实际上做了两件工作:MFC类库和对MFC的IDE支持(即资源编译器和操作向导)。在1994年4月份之后,AFX的名字停止使用,该小组成员成为Visual C++开发组的一部分,即现在的MFC小组。
MFC1.0版于1992年同Microsoft C/C++7.0同时发布。它提供了对Windows API简单的抽象和封装,还没有我们现在常用的文档/视结构特性。但它引入了CObject,通过CArchive的持续化和其他一些MFC中仍然使用的特性,从而奠定了MFC的基础。



查看完整回答
反对 回复 2019-03-26
?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

主要是用来占位的,帮助MFC框架实现函数和事件消息映射的。具体可以看深入浅出MFC,它的空对于程序员来讲知道这就是声明了一个消息响应函数。它的根本作用是帮助MFC框架识别出这是消息映射函数

查看完整回答
反对 回复 2019-03-26
  • 4 回答
  • 0 关注
  • 834 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信