2019-2020年人教统编MFC的基本组成及程序模式类型课件
可视化编程课件02MFC-PPT精选文档97页
项目的概念(2)
版本类型 Debug版本产生调试信息,便于程序调试与 运行 Release版本不产生调试信息,代码简短且 经过优化,程序执行效率较高
14
项目的概念(3)
Build菜单→Batch Build
15
项目的概念(4)
项目文件类型 *.dsp 项目中所有内容 *.dsw 工作区中所有项目 *.clw ClassWizard信息 *.rc 资源描述信息 Resource.h 头文件 /res 各种资源存放的目录
功能 初始化应用程序 启动默认的消息循环 终止应用程序 向应用程序加载光标 向应用程序加载图标 弹出一个消息框 打开一个文档对象 关闭所有打开的文档对象
21
根类与应用程序类(4)
文档与视图 文档对象由文档模板创建,管理应用程序的 数据,包括文档创建、打开与保存
文档模板及基类: CDocTemplate:文档模板基类 CSingleDocTemplate:SDI文档模板 CMultiDocTemplate:MDI文档模板 CDocument:专用文档基类
可视对象类(8)
设备描述环境类CDC 主要用来实现窗口绘制
CDC派生类 CPaintDC:绘图设备描述环境 CClientDC:客户区的设备描述环境 CWindowDC:窗口的设备描述环境 CMetaFileDC:元文件的设备描述环境
30
通用类(1)
文件类CFile CFile类是文件访问基类,实现文件输入与 输出操作
CFile派生类 CMemFile:驻内存文件访问接口 CStdioFile:缓存流式文件访问接口
CArchive类 CFile类通常由CArchive间接访问
《MFC系列教程》PPT课件
CObjeck
各类结构图
CCmdTarget
命令消息目标类
CDocument 线程类
CObject
CCmdTarget CWnd
CFrameWnd
CObject CCmdTarget
CWinThreat CWinApp
CObject CCmdTarget
CWnd
23
CView
文档类主要管理应用程序中的数据。不管理物理磁盘输入输 出。
文件: DrawView.h
DrawView.cpp
视图类主要管理应用程序中的视图窗口,显示文档类的数据.
功能:显示文档类的数据,处理用户输入,管理窗口,实现图
形系统时,屏上显示,打印机上打印图形。
函数:
获得文档指针的函数 GetDocument ( )
绘图函数
OnDraw ( )
修改窗口函数
PreCreateWindow( )
Ⅰ. MFC概述
MFC是用来编写应用程序的C++类集,该类集以层次结构组 织起来,其中封装了大部分API函数与控件,功能包含整个系统, 提供了丰富的图形环境下的框架。
2
1. MFC 发展过程 1992年 MFC1.0应用程序中非图形的类和应用程序图形用户 界面类。 1993年 MFC2.0增加了一些构造类。 1993年 MFC2.5增加数据库类、基于16位应用程序。 1994年 MFC3.0增加开发32位应用程序的类,提供了丰富的用户 界面程序支持。 1994年 MFC4.0增加新的控件,支持OLE(对象连接嵌入)类扩展 功能。实现网络通信程序的编写。提供了MAPI接口,开发邮件、消 息处理的应用程序。 1997年 MFC4.21增强了对数据库程序的支持,出现了 visual c+3 +5.0
MFC原理(PPT)
采用MFC编程的优点: 编程的优点: 采用 编程的优点 使用标准化的程序代码结构,有利于程序员之 间的交流. Visual C++为MFC提供了大量的工具支持,提高 了编程效率.如利用MFC AppWizard创建MFC 应 用 程 序 框 架 , 利 用 ClassWizard 方 便 地 对 Windows消息进行管理. MFC 应 用 程 序 的 效 率 较 高 , 只 比 传 统 的 Windows C程序低5%左右.并且,在MFC应用 程序中还允许混合使用传统的Windows API函数. 其它优势:完全支持Windows所有的函数,控件, 消息,菜单及对话框;具有良好的稳定性和可 移植性,更符合微软的风格等.
6.2.2 MFC体系结构 体系结构 MFC主要组成部分:类,宏和全局函数. 类是MFC中最主要的内容.MFC类是以层次结 构方式组织起来的.MFC中的类分成两部分,除 了一些辅助类,大多数的MFC类是直接或间接从 根类CObject派生而来. 几乎每一个派生层次都与一具体的Windows实例 相对应,如文档类,窗口类和视图类等. MFC宏主要功能:消息映射,运行时对象类型服 务,诊断服务,异常处理. MFC约定:全局函数以"Afx"为前缀,全局变量 以"afx"为前缀.
Mfc42UD.lib MfcO42D.lib MfcD42D.lib Nafxcw.lib NafxcwD.lib gdi32.lib user32.lib kernel32.lib msvcrt.lib msvcrtd.lib libcmt.lib libc.lib
MFCxxUD.DLL的导入函数库(Unicode Debug版) MFCOxxD.DLL的导入函数库(OLE Debug版) MFCDxxD.DLL的导入函数库(Database Debug版) MFC静态链接库(Release版) MFC静态链接库(Debug版) GDI32.DLL的导入函数库 USER32.DLL的导入函数库 KERNEL32.DLL的导入函数库 MSVCRT.DLL(C运行函数库)的导入函数库 MSVCRTD.DLL(Debug版C运行函数库)的导入函数库 C运行函数静态链接库(多线程) C运行函数静态链接库(单线程)
可视化教学PPT MFC应用程序概述
全局函数
AfxAbort( ), 无条件中断应用程序 AfxMessageBox( ), 显示一个消息框 AfxGetApp( ), 返回一个指向Project的 CWinApp Object的指针 AfxGetAppName( ), 返回应用程序的名 字,类型为一个指向字符串的指针 AfxGetMainWnd( ), 返回指向主框架窗 口(Main Frame Window)的指针
可视化程序设计
第3章MFC应用程序概述
第3章 MFC应用程序概述
3.1 微软基础类MFC
MFC概述 MFC的类层次结构 MFC定义的宏、全局函数及全局变量 创建基于MFC框架的应用程序 MFC应用程序分析 消息的种类 消息映射及消息传递 自定义消息
3.2 MFC应用程序框架
ຫໍສະໝຸດ 3.3 消息机制
微软基础类MFC
类库是一个可以在应用程序中使用的相 互关联的类的集合。MFC中包含了200 多个类,封装了Windows的大部分编程 对象和相关的操作。MFC是一个庞大的 文件库,它由几百个执行文件和源文件 构成。
MFC的类层次结构
CObject
CWinThread
CCmdTarget
p B aseM ap _ m essag eE n tries[] lp E n tries n M essag e, n C o d e, n ID , n L astID , n S ig , p fn m essag eM ap
自定义消息
首先定义一个消息 #define WM_MYMESSAGE WM_USER+100 在.CPP文件的BEGIN_MESSAGE_MAP和END_MESSAGE_MAP之间定义一 个映射函数: ON_MESSAGE(WM_MYMESSAGE OnMyFn) 在相应的.h文件中定义函数 afx_msg LRSULT OnMyFn(WPARAM wParam,LPARAM lParam); 在相应的.h文件中定义函数 LRSULT CMyClass::OnMyFn(WPARAM wParam,LPARAM lParam){ …… return 0; }
第7章 MFC基础知识PPT教学课件
• AFX小组实际上做了两件工作:MFC类库和对MFC的IDE支持(即资源 编译器和操作向导)。在1994年4月份后,AFX的名字停止使用,该 小组成员成为Visual C++开发组的一部分,即现在的MFC小组。
▪ MFC的优势
• 完全支持Windows所有的函数、控件、消息、GDI基本图形函数、 菜单及对话框。
• 使用与API同样的命名规则,即匈牙利命名法; • 进行消息处理时,不使用易产生错误的switch/case语句,所有
消息通过宏来实现消息到成员函数的映射; • 可 利 用 与 MFC 紧 密 结 合 的 AppWizard( 应 用 程 序 向 导 ) 和
ClassWizard(类向导)等工具,快速开发出功能强大的应用程序。 • MFC是扩展了的C++类层次结构,开发Windows应用程序更容易。
2020/12/10
2
▪ 发展过程
• 开始,Microsoft建立了一个AFX( Application Framework应用 程序框架)小组,是为了与Borland C++的OWL (Object Windows Language)竞争。AFX小组时期提出了一个高度抽象Windows API的 一个类库,但由于过分抽象并没有太大的实用性,后放弃。
d
d
d
MFC类的基本层次结构
2020/12/10
5
(3)窗口、对话框和控件类 ·框架窗口类(窗口) ·视类(窗口) ·对话框类 ·控件类 ·控件条类
MFC程序设计PPT课件
例 bIsValid ChText,ChGrade cString CsName DwFlags fnSort hWnd,hPen iCount pFrame szName m_szName
3.1.3 应用程序框架介绍
MFC提供了构造Windows应用程序的框架,它不 仅为应用程序建立标准的结构,生成一系列起动文 件,还提供标准的图形用户界面如菜单、工具栏、 状态条等供开发人员在程序中补充完善,开发人员 只需要完成针对特定应用的代码。使用应用程序框 架的应用程序代码小,运行速度快,它提供的工具 也降低了编码的难度。
3. 全局变量 全局变量名以afx开头,如afxTraceFlag、 afxDump等,主要与异常处理有关。
3.1.2 MFC命名规则
匈牙利命名法规定: • 变量名以一个或多个小写字母开头作为前 缀,标识变量的数据类型; • 类型标识后是若干个单词,标识变量含义, 每个单词以大写字母开头,其余字母小写;
• MFC中所有类及自定义类都以C开头; • 类成员变量以m_为前缀,下划线后是变 量名等等。
前缀 B,b Ch c Cs Dw fn
h i p sz m_
表3.1 命名规则
数据类型 BOOL char class CString DWORD function handle int pointer ASCII string Data member
1.文档-视图结构
文档视图结构提供一种连续处理数据的方式,使 应用程序的数据与数据的显示分开处理。
程序的数据储存在文档类中(作为文档类的数据成员),是 对数据的抽象表示。数据显示由视图负责,视图是程序窗 口的客户区,框架窗口是客户区的框架,程序数据显示在 窗口,用户通过视图与程序交互。
MFC基础教程_
• 共14章、442页,涵盖了vc的基础介绍,以及mfc程序的创建,控件 的使用、多线程、多媒体编程、网络编程、动态链接库的使用等等, 是那些喜欢MFC但是不知道从何学起的MFC爱好者的最佳的基础教 材!
第1章 Visual C++集成开发环境
• Visual C++是一个功能强大的可视化应用程序开发工具。其凭借强大 功能,受大了广大程序员的欢迎。当今流行的Visual C++的开发工具 是6.0版本。下面来介绍Visual C++ 6.0的一些基本情况。
2.1 微软基础类库MFC
• MFC是一种重要的编程方法,它是微软公司的特定的应用程序包装接 口。本节将讲解MFC概述及其类库结构。
2.1.1 MFC概述
• MFC的英文全称是Microsoft Foundation Classes,即微软的基础类 库。MFC的本质就是一个包含了许多微软公司已经定义好的对象的类 库。 • 虽然开发人员要编写的程序在功能上各有不同,但是从结构上讲,都 可以化分为对用户界面的设计、对文件的操作、对数据库的访问及对 多媒体的使用等一些最主要的方面。这一点正是微软提出MFC类库最 重要的原因。 • 在MFC类库中,大约有200个类。在进行程序设计时,只需简单地调 用已有的类及类中的方法即可。另外,还可以利用“继承”方法从已 有类中派生出自己想要的类。这时,派生出来的类不但拥有父类中的 方法和属性,还可以根据自己的需求,自定义一些特殊的属性和方法, 使得派生类功能更加强大。MFC有较好的移植性,可应用于众多平台。
2.2 MFC应用程序框架分析
• 在前面介绍过如何创建一个基于单文档的应用程序。对于如何选择性 地创建基于多文档或是基于对话框的应用程序,将会在后续章节详细 介绍。本节主要对MFC应用程序框进行简单的概括,使读者了解 MFC应用程序框架的结构与工作机制。
MFC的基本组成及程序模式类型
MFC的基本组成及程序模式类型MFC(Microsoft Foundation Class)是一种用于开发Microsoft Windows平台应用程序的编程框架,它提供了一套可重用的类库,使开发人员可以更轻松地创建Windows应用程序。
1. 控件(Controls):MFC提供了很多常用的控件,如按钮、文本框、列表框、组合框等,开发人员可以直接使用这些控件来构建用户界面。
2. 对话框(Dialogs):MFC支持对话框的创建和管理,开发人员可以通过对话框来实现复杂的用户交互。
3. 文档视图架构(Document-View Architecture):MFC提供了文档视图架构,使开发人员可以更方便地实现文档和视图的交互,以及与用户的交互。
4. 消息映射(Message Mapping):MFC通过消息映射机制来处理事件,开发人员可以通过添加消息映射函数来响应用户的输入或其他事件。
5. 消息循环(Message Loop):MFC提供了消息循环机制,用于处理窗口消息,并将其传递给适当的窗口进行处理。
6. 应用程序类(Application Class):MFC的应用程序类是一个派生自CWinApp的类,它提供了应用程序的初始化和运行控制。
MFC的程序模式类型主要有以下几种:1. 单文档(SDI,Single Document Interface)模式:在单文档模式下,应用程序只能打开一个文档,并在主窗口中显示该文档。
用户可以通过菜单或工具栏命令来操作文档。
2. 多文档(MDI,Multiple Document Interface)模式:在多文档模式下,应用程序可以同时打开多个文档,并在子窗口中显示这些文档。
用户可以通过菜单或工具栏命令在不同的子窗口之间切换。
3. 对话框(Dialog)模式:在对话框模式下,应用程序的主窗口是一个对话框。
用户可以通过对话框上的控件进行操作,以实现与应用程序的交互。
第十单元MFC原理与方法PPT课件
Windows程序 = 程序代码 + 资源 Windows应用程序的一个特性是资源共享。
许多资源是在使用前必须向Windows操作 系统申请,使用结束后必须释放。
(注:第4条中提到的资源所指的范围和第3条提到 的资源所指的范围不同)
} else{
DispatchMessage(&msg); // 分发消息 } }
MFC应用程序框架
应用程序类中通常需要重载的函数
InitInstance用来添加自己应用程序的初始 化(全局变量等)代码。
ExitInstance用来完成一些应用程序资源 (全局变量等)的释放工作。
OnIdle用来处理一些后台操作,通常优先级 较低且占用时间很短。
MFC应用程序对象之间的关系
(p270,图7-4)必须牢记!!!
MFC应用程序框架
MFC应用程序的生与死
任何Windows应用程序有且只有一个从 CWinApp类派生的应用程序类
应用程序类对象theApp是在窗口创建之前就 构建好的,换言之,MFC应用程序启动时,首 先创建的就是应用程序对象theApp.
所有的外部响应(如键盘、鼠标和计时器等) 都由Windows先拦截,然后转换成消息后再 发送到应用程序的目标对象,应用程序根据消 息的具体内容进行相应的处理。
消息可以由Windows发出,也可以有应用程 序本身发出,还可以自定义消息。
事件和消息
消息队列:
Windows为每一个应用程序都维护一个或多个消息队 列。
Visual C++面向对象编程
第七章 MFC原理与方法
概述
与Visual C++捆绑在一起的是MFC。 MFC:Microsoft Foundation Class
C++课件:MFC编程基础
2021/7/10
12
MFC的优点
1、MFC对于类、类的继承、封 装、多态性、类间关系和相互作 用等应用程序特性都有具体体现, 可以使开发者高效、轻松地建立 Windows应用程序,而不受设 备限制并且由事件进行驱动。
2021/7/10
13
2、MFC具有良好的通用性和 可移植性,它定义了应用程序 的轮廓,并提供了用户接口的 标准实现方法,程序员所要做 的工作就是通过VC所提供的各 种工具来完成这个工作。
(1)CStatic(2)CButton(3)CEdit
(4)CScrollBar(5)CSliderCtrl
(6)CListBox (7)CComboBoxl
(8)CBitmapButton (9)CAnimateCtrl
(10) CTreeCtrl(11)CListCtrl
2021/7/10
27
程序员可以使用这一框架创建
Windows应用程序。
同时:MFC的组织是以C++类层次形式组
织
起来的,几个高层类提供一般功能,
而低层类实现更具体的功能,每一个低
层类都是从高层类派生而来,因此继承
了2021高/7/1层0 类的功能。
2
所以:MFC是一种类的层次结构, 它提供了一个应用程序开发框架, 此框架称为文档/视图架构。
1、Windows消息函数 2、文件处理函数 3、网络函数 4、菜单函数 5、文本与字体函数 6、硬件与系统函数 7、控件和消息函数 8、位图、图标和光栅运算函数 9、绘图函数 10、打印函数 11、设备场景函数 12、进程和线程函数
2021/7/10
6
程序员如何去学习MFC
1、C++语言基础 2、Windows操作系统基础 3、面向对象程序观念的基础
第2讲-MFC应用程序框架及文档视图架构PPT课件
8
2021/6/7
文档视图架构的思想
数据嵌入文档中,利用文档的架构管理 文档与视图通信,使数据在视图中显示 视图显示数据,并与用户交互 视图放入窗口中 文档模板类对象管理上述对象协调工作
9
2021/6/7
MFC程序中主要的类(基于文档)
计过程更有效率,更符合面向对象的精神 3 简化了Windows程20序21/6设/7 计
MFC应用程序框架
什么是MFC应用程序框架
提供了一般应用程序需要的全部面向对象软件 组件的集成集合
好处
是C++的Windows API 标准结构的专业化的程序,面向对象思维 运行速度快 降低编码复杂性,代码重用,良好工具支持
{ AfxEnableControlContainer(); //支持ActiveX
#ifdef _AFXDLL
Enable3dControls();//Call this when using MFC in a shared DLL
#else
Enable3dControlsStatic();//Call this when linking to MFC statically
文档类负责数据管理
7
2021/6/7
使用文档/视窗结构的好处
将数据操作与数据显示分开,可以简化工作量
一组数据可以同时以不同的形式显示在多个视 窗中
窗框类、视窗类、文档类之间的关系
窗框类相当于窗户的窗框 视窗类相当于窗户上的玻璃 文档类相当于房间中的物品 在房间外边可以透过玻璃看到室内部分物品
管理应用程序的边框窗口,包括窗框的大小、标题、菜单条、状
MFC的基本组成及程序模式类型
2.线程基类:CWinThread类 线程基类:CWinThread类 所有线程的基类,可直接使用。CWinApp类就是从 所有线程的基类,可直接使用。CWinApp类就是从 CWinThread类中派生出来的 CWinThread类中派生出来的
11
3.窗口应用程序类:CWinApp类 窗口应用程序类:CWinApp类 每个应用程序有且只有一个应用程序对象, 每个应用程序有且只有一个应用程序对象,在运 行程序中该对象与其它对象相互协调, 行程序中该对象与其它对象相互协调,该对象从 CWinApp类中派生出来 CWinApp类封装了初始化 类中派生出来。 类封装了初始化、 CWinApp类中派生出来。CWinApp类封装了初始化、运 终止应用程序的代码。 行、终止应用程序的代码。
14
3.菜单类:CMenu类 菜单类:CMenu类
该类是CObject类的子类,用于管理菜单。它是一个 该类是CObject类的子类,用于管理菜单。 CObject类的子类 HMenu的封装 的封装, Windows HMenu的封装,提供了与窗口有关的菜单资 源建立、修改、跟踪及删除的成员函数。 源建立、修改、跟踪及删除的成员函数。
2
以层次结构组织 是用来编 写Windows 应用程序 C++类集 的C++类集 封装了大部分API函数 封装了大部分API函数 API 提供了图形环境下应用程序的框架 提供了创建应用程序的组件
提供了大量的基类供程序员根据不同的应用环境进行扩充 MFC 允许在编程过程中自定义和扩展应用程序中的类 较好的移植性, 较好的移植性,可移植于众多的平台 MFC还很好地保持了程序的向下兼容性 MFC还很好地保持了程序的向下兼容性
4.文档/视类 文档/ 文档对象由文档模板对象创建, 文档对象由文档模板对象建,管理应用程序的 数据。视对象表示一个窗口的客户区, 数据。视对象表示一个窗口的客户区,显示文档数据 并允许用户与之交互
第三章MFC编程.ppt
X轴递增方向 向右 向右 向右 向右 向右 向右
可调节 可调节
Y轴递增方向 向下 向上 向上 向上 向上 向上
可调节 可调节
图形对象
画笔 :绘制直线和曲线要使用的GDI对象 画刷 :填充图形要使用的GDI对象 字体 :用于文字显示和打印的GDI对象 CDC类 :封装了大量文字与绘图函数的设备 环境类
设计框架窗口类
#include<afxwin.h>
从CFrameWnd类派生
class CMyWnd: public CFrameWnd
{ public:
声明消息处理函数
CMyWnd(){}
protected: afx_msg void OnPaint();
声明动态消息映射宏
DECLARE_MESSAGE_MAP() };
BOOL Arc( LPCRECT lpRect, POINT ptStart, POINT ptEnd ); BOOL Chord( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ); //弓形
BOOL Chord( LPCRECT lpRect, POINT ptStart, POINT ptEnd ); BOOL Pie( int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4 ); //扇形
Windows程序 作图流程
绘图模式
绘图的最终效果,如前景色、背景色等,可
以通过设置绘图模式来进行改变。绘图模式实 际上是指画笔的颜色以什么样的方式填充在已 经有显示的设备上,两者怎样相结合。
绘图模式 R2_BLACK R2_WHITE R2_NOP R2_NOT
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
10.1 MFC概述
MFC是用来编写Windows应用程序的 C++类集,该类集以层次结构组织起来, 其中封装了大部分Windows API函数和 Windows控件,它所包含的功能涉及到整 个Windows操作系统。
MFC不仅为用户提供了 Windows图形 环境下应用程序的框架,而且还提供了 创建应用程序的组件。
( LPCTSTR lpszText,
UINT nType = MB_OK,
UINT nIDHelp = 0
)
10.2.4 可视对象类
1.窗口类:CWnd类
Cwnd提供了MFC中所有窗 口类的基本功能,是 CCmdTarget类的子类
创建Windows 窗口要分两 步进行
MFC1.0 & MS C/C++7.0 MFC2.0 & MS VC++1.0
应用程序中非图形部分的类 GUI功能的Windows相关类 在1.0基础上增添了一些应用程序
MFC2.0 & MS VC++1.5 添加了ODBC类,并且还支持OLE的性能
MFC3.0 & VC++2.0 增添了对开发32位应用程序的支持
3.窗口应用程序类:CWinApp类 每个应用程序有且只有一个应用程序对象,在运
行程序中该对象与其它对象相互协调,该对象从 CWinApp类中派生出来。CWinApp类封装了初始化、运 行、终止应用程序的代码。
4.文档/视类
文档对象由文档模板对象创建,管理应用程序的 数据。视对象表示一个窗口的客户区,显示文档数据 并允许用户与之交互
在CWinApp中定义的部分函数的功能有时也可 以通过MFC提供的全局函数来实现,这些全 局函数一般都以Afx为前缀。
例如调用AfxMessageBox函数将弹出一个消息 框,其功能与CWinApp中的DoMessageBox相 同。AfxMessageBox原型如下:
int AfxMessageBox
• 扩展了对公共控件的支持,如时间控键、IP 地址控键和日期控键等。
10.2 MFC类的组织结构及主要 的类的简介
10.2.1 MFC类的组织结构
MFC库中的类按层次关系划分类: (1)根类:CObject (2)应用程序体系结构类 (3)窗口、对话框和控件类 (4)绘图和打印类 (5)简单数据类型类 (6)数组、列表和映射类 (7)文件和数据库类 (8)Internet和网络工作类 (9)OLE类 (10)调试和异常类
MFC6.0中引进了新的功能:
• 提出了活动文档容器来管理不同类型的文档, 并通过引入类COleDocObjectItem来加以实现。 同时在应用程序向导中也加入了对这一新特 性的支持。
• 加入了对动态HTML技术的支持,通过引入一 个新类CHtmlView,使程序员开发的应用程序 可以浏览并显示用动态HTML技术开发的HTML 文档。类CHtmlView中封装了许多浏览器的特 征,包括浏览器在历史记录、书签和安全等 方面的特征都被封装进了类CHtmlView。
文件和数据库类
文件I/O类 DAO类 ODBC类
Internet和网络工作类
LSAPI类 Windows Socket类 Win32 Internet类
10.2.3应用程序体系结构类
用于构造应用程 序框架的结构, 提供多数应用程
序公用的功能
应用程序体 系结构类
编写程序的任务是 填充框架,添加应 用程序专用的功能
据库、数据库对象与结构。这些支持主要包括以下 几个部分:
•Win32 Internet API使Internet成为应用程序的一部分并 简化了对Internet服务的访问 •Activex文档可以显示在整个Web浏览器或OLE容器的 整个客户窗口中
• Activex控件可以用在Internet和桌面应用程序中可以 使用CHttpServer、CHttpFilter、ChttpServerContext和 CHttpFilterContext类来建立动态DLL,以便为Web页面 增添功能
输出(设备相关)类 绘图工具类
简单数据类型类
窗口、对话 框和控件类
框架窗口类(窗口) 视类(窗口) 对话框类 控件条类
数组、列表和映射类
数组类 列表类 映射类
调试和异常类
OLE类
调试支持类 异常类
OLE容器类 OLE服务器类 OLE拖放和数据传输类 OLE普通对话框类 OLE动画类 OLE动画类 OLE控件类 活动文档类 其他文档类
1.命令相关类 2.窗口应用程序类 3.文档/视类 4.线程基类
1.命令相关类:CCmdTarget类
该类是CObject的子类,它是MFC库中所有具有消息映射属性的 基类。消息映射规定了当一对象接收到消息命令时,应调用哪 一个函数对该消息进行处理
2.线程基类:CWinThread类
所有线程的基类,可直接使用。CWinApp类就是从 CWinThread类中派生出来的
是用来编 写Windows 应用程序 的C++类集
以层次结构组织 封装了大部分API函数 提供了图形环境下应用程序的框架 提供了创建应用程序的组件
提供了大量的基类供程序员根据不同的应用环境进行扩充 MFC
允许在编程过程中自定义和扩展应用程序中的类
较好的移植性,可移植于众多的平台
MFC还很好地保持了程序的向下兼容性
10.2.2 根类--COBJEC
MFC中多数类和用户自定 义子类的根类,是抽象 基类。它提供了许多编 程所需的公共操作。
对象的建立 对象的删除 串行化支持 运行时信息
应用程序体 系结构类
对象诊断输出 应用程序和线程支持类 命令相关类 文档类 文档模板类 视类(体系结构) 框架窗口(体系结构)
绘图和 打印类
MFC4.0 包含了在Win95和N中大多4.21
增强了对数据库应用程序的支持 利用DAO类通过编程语言来访问、操纵和管理数据库 对Internet也提供了强有力的支持
MFC5.0增强了对数据库和Internet的支持,可使用 ODBC类和ODBC驱动程序来访问提供ODBC支持的数 据库中的数据;可以通过数据访问对象(DAO)类通 过编程语言来访问和操纵数据库中的数据并管理数