2024年4月19日发(作者:)

MFC基础部分

8.1 MFC的前身AFX

•AFX(application framework)

向对象应用程序框架的尝试。在许多方面改造了

小组,Microsoft早先创建面

使用了完全不同的窗口和图形子系统,

对象

全新的AFX

Windows

的面向

API兼容)。

API,提供

C编写的

Windows API

SDK不容易移植。

高度抽象(不与Windows

–使用C++创建Windows应用程序的过程容易和直观

–确使库能扩展以适应类的发展

–更容易使用Windows API特性

–使用标准Windows命名约定和编码风格

–用类封装

Windows API和Windows对象,并按照API的指引完成工

•重新回到正路,扩展

并且为面向对象Windows

C++类,封装、映象

应用程序提供坚实的基础-

Windows API

MFC

基本类库引论

•Microsoft基本类(MFC)库是封装SDK结

构、功能以及应用程序框架内部技术。该

应用程序框架隐藏过去Windows程序员不

得不处理的许多重复性工作。

•在封装的每一层都针对不同的应用对象封

装了不同的功能。例如:CWnd,CEdit

•AFX小组将全部AFX代码提供给MFC小组。大量

AFX代码作为基本框架被移植到MFC内部,至今

仍在MFC内。但是大部分AFX代码被废弃。

•同时,MFC小组编写了集成开发环境IDC以支持

MFC。

1

•MFC的演变

–1992.3 MFC1.0和Microsoft C/C++7.0同时推出,

16位,无doc/view结构,存在CObject和MFC

类CArchive。

–1993.2 MFC2.0和VC++1.0同时推出,16位,

引入doc/view结构支持OLE1.0,引入消息映

射,引入公用对话框。

–1993.7 MFC(32位)1.0版本随同NT3.1同时

推出。

–1993.8 MFC2.1和VC++(32位)同时推出。

–1993.12 最后的16位VC++

–1994.9 VC++2.0和32位MFC3.0推出。

•8.3 CObject类:MFC的根

–从CObject派生的MFC子系统

CObject

文件服务

应用程序结构

屏显

窗口支持

图形服务

控件支持

对话框

图形对象

视图

菜单

同步对象

控件

Windows插件

框架窗口

数组,列表,映射

•8.2 MFC类层次

–基本类库可分为两种

•CObject派生类

•非CObject派生类

CObject派生类非CObject派生类

根类CObject

j,

数组/列表/

简单数据类型,简单数据类

支持类,

映像类,调试和异常类,绘图

典型模板类,OLE类,结构

和打印类,文件和数据库类,

类,同步类

Internet和网络类,MFC应用

程序结构类,窗口/对话框/控

件类

•数组,列表,映射类(动态收缩和扩展)

•调试和异常类(CDumpContext提供诊断转储的目

的地,CMemoryState提供捕捉内存使用状

态,CException捕获代码异常)

•图形类CDC

•文件和数据库类(CFile,CDatabase,

CRecordset…)

•Window Sockets(插件)和Internet服务类

(Internet Server API,ISAPI,使用WinSocket通

信)

•控件类(CListCtrl…)

•菜单CMenu

2