(一)全程:Microsoft Foundation Class Library
我们称:微软基础类库
从硬盘的存在形式上来说,MFC就是一个库(动/静态)
从原理上说,MFC还是一个程序的框架
作用:基于框架进程开发,提高工作效率,减少开发周期,节约开发成本
(二)重要头文件
afx.h --- 包含了MFC库中几乎所有类的声明
afxwin.h -- 包含了<afx.h>和<windows.h>
afxext.h -- 提供了扩展类的声明,比如:工具栏、状态栏...
(三)MFC应用程序类型
1):使用MFC库制作自己的控制台程序
多了一个全局变量(对象) CWinApp theApp;
入口函数不同于以往的入口函数
*****以Afx...开头的函数,可以确定这是MFC库中封装的全局函数
以"::"开头的函数,可以确定这是WIN32的API函数
2):使用MFC库制作自己的库程序
静态库、动态库
3):使用MFC库制作自己的窗口程序
单文档视图构架程序、多文档视图构架程序、对话框构架程序
(四)MFC库中类的概述
1):CObject --- MFC库中绝大部分类的最基类
运行时类信息机制 动态创建机制 序列化机制
2):CCmdTarget --- 消息映射机制的最基类
3):CWinThread / CWinApp --- 应用程序类,负责管理程序流程
4):CDocument及其子类 ---- 文档类
封装了关于各种格式数据操作
5):Exception --- 异常处理类
封装了MFC库中各种异常情况的处理
6):CFile及其子类 --- 文件操作类
封装了关于各种文件的读写等操作
7):CWnd --- 所有窗口类的最基类
8):Frame Windows --- 框架窗口类
封装了关于框架窗口的操作
9):Dialog Boxes --- 对话框窗口类
封装了关于各种对话框的操作
10):Views --- 视图窗口类
封装了关于各种视图窗口
11):Controls ---- 控件窗口类
封装了关于各种控件窗口的操作
12):CDC及其子类
封装了各种绘图函数以及绘图设备
13):CGdiObject及其子类
封装了关于各种GDI绘图对象的操作
14):CArrary / CList / CMap以及子类
封装了C++语法中相应的数据结构类
15):非Object类
封装了各种相应数据结构的操作;例如:CPoint / CRect / CString...