为什么需要MFC?
基于应用程序框架之上,使用提供的类库快速开发,提高项目的开发效率,减少开发周期和成本。
一、概念和作用:
封装了window应用程序的各种API以及相关机制的C++类库
- MFC是一个大的类库
- MFC是一个应用程序框架
常用的头文件:
afx.h 将各种MFC头文件包含在内
Afxwin.h 包含了各种MFC窗口类,包含了afx.h和windows.h
Afxext.h 提供了扩展窗口类的支持,例如工具栏,状态栏等
二、六大机制
程序启动机制、窗口创建机制、消息映射机制、
运行类信息机制、动态创建机制、序列化机制
三、MFC程序的分类
1.MFC控制台程序
和win32的控制台程序的差别
main函数不同于普通的控制台程序
CWinAPP theAPP;多了一个全局对象
经验之谈:
以Afx开头可以确定为MFC库中的全局函数
以::开头可以确定为win32的API函数
2.MFC的库程序
MFC的静态库:
使用MFC制作自己的静态库程序
MFC的动态库:
使用静态的MFC库制作自己的动态库
使用动态的MFC库制作自己的动态库
MFC扩展库:扩展MFC的功能
规则库可以被各种程序所调用,扩展库只能被MFC程序调用
3.MFC的窗口程序
Win32窗口程序不可以调MFC库中的东西
- 单文档视图架构程序:
CWinAPP应用程序类,负责管理应用程序的流程
CFrameWnd框架窗口类,负责管理框架窗口
CView视图窗口类,负责显示数据
CDocument文档类,负责管理数据
- 多文档视图架构程序:
CWinApp应用程序类
CMDIFrameWnd多文档主框架窗口类
CMDIChildWnd多文档子框架窗口类
CView视图窗口类,显示数据
CDocument文档类,管理数据
- 对话框应用程序:
CWinAPP应用程序类
CDialog对话框窗口类