一、MFC的概念和作用
1、什么是MFC?
全称:Microsoft Foundation Class Library(微软基础类库)
1-MFC从硬盘存在形式来说就是一个库(静态MFC库、动态MFC库)
2-MFC从原理来说还是一个程序框架
2、为什么使用MFC?
基于框架编程,提高工作效率,减少开发周期,降低开发成本。
二、几个重要的头文件
afx.h--包含了MFC中绝大部分类的声明
afxwin.h--包含了afx.h和windows.h
afxext.h--提供了对扩展类的支持,例如:工具栏、状态栏...
附:以Afx...开头的函数,可以确定为MFC库中的一个全局函数;
以::...开头的函数,可以确定为Win32的API函数;
三、MFC应用程序的分类
1、使用MFC库制作自己的控制台程序
相比Win32控制台程序:
多了一个全局对象 CWinApp theApp
入口函数不同于以往的入口函数
2、使用MFC库制作自己的静态库程序
3、使用MFC库制作自己的动态库程序
1--使用MFC库制作自己的规则动态库(静/动态MFC库)
2--使用MFC库制作自己的扩展动态库
区别:规则库可以被所有程序调用,扩展库只能被支持MFC的程序调用
4、使用MFC库制作自己的窗口程序
1--单文档视图构架程序
CFrameWnd-框架窗口类,封装了关于框架窗口的操作
CWinApp-应用程序类,封装了关于程序流程的操作
CDocument-文档类,封装了关于数据的操作(提取、转换、存储...)
CView-视图窗口类,封装了关于视图窗口的操作(绘图)
2--多文档视图构架程序
CMDIChildWnd-子框架窗口类,封装了关于子框架窗口的操作
CMDIFrameWnd-主框架窗口类,封装了关于主框架窗口的操作
CWinApp-应用程序类,封装了关于程序流程的操作
CDocument-文档类,封装了关于数据的操作(提取、转换、存储...)
CView-视图窗口类,封装了关于视图窗口的操作(绘图)
3--对话框构架程序
CWinApp-应用程序类,封装了关于程序流程的操作
CDialog-对话框窗口类,封装了关于对话框窗口的操作
四、MFC库中类的概述
1、CObject:MFC 库中绝大部分类的最基类,封装了 MFC 库中最基本的几个机制:运行时类信息机制、动态创建机制、序列化机制。
2、CCmdTarget:消息映射机制的最基类。
3、CWinThread/CWinApp:应用程序类,负责管理程序的流程。
4、CDocument:基类和其子类都属于文档类,负责管理数据。
5、Exceptions:异常类,封装了关于 MFC 中各种异常处理的类。
6、CFile:基类和其子类都属于文件操作类,封装了关于各种文件的操作。
7、CWnd:窗口类的最基类,封装了关于窗口的最基本的操作。
8、Frame Windows:框架窗口类,封装了关于各种框架窗口的操作。
9、Dialog Boxes:对话框窗口类,封装了关于各种对话框窗口的操作。
10、Views:视图窗口类,封装了关于各种视图窗口的操作。
11、Controls:控件窗口类,封装了关于各种控件窗口的操作。
12、CDC:基类及其子类封装了各种绘图设备,含有绘图函数。
13、CGDiObject:基类及其子类封装了各种绘图对象的操作。
14、CArray/CList/CMap:基类及其子类封装了相应的数据结构。
15、非CObject类:封装了关于各种结构的操作,例如:CPoint, CRect, CString, CTime...