MFC的概念和作用
2015-12-23 15:04
197 查看
(一)全程: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...
我们称:微软基础类库
从硬盘的存在形式上来说,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...
相关文章推荐
- Maven使用-- 编写POM
- 第六章----- Realm及相关对象
- 由PYTHONPATH谈起
- Rest API 开发 学习笔记
- 关于hibernate悲观锁设置方法setLockMode无效而setLockOptions有效的解答
- 关于Codis的动态扩容
- iOS中的事件传递和响应者链条
- 搬水果
- 数据结构精要------直接插入排序和希尔排序算法
- ERROR [block nbd5: Receive control failed (result -32)]
- hdu 1158 Employment Planning
- jq select操作全集
- 第五章----编码/加密
- 布尔值编辑风格-报表系统
- 个人记事本
- 设计模式C++实现--桥接模式
- 论文笔记——Mariana:Tencent Deep Learning Platform and its Applications
- DataTable转换成IList 【转载】
- 类与对象
- sed的用法