《网络编程实用教程》教学资源(PPT课件讲稿)第4章 MFC编程

第4MFC编程 41MFC概述 42MFC和win32 43 OBjects类 44消息映射的实现 45MFC对象的创建 46应用程序的退出
第4章 MFC编程 1 4.1 MFC概述 4.2 MFC和Win32 4.3 CObject类 4.4 消息映射的实现 4.5 MFC对象的创建 4.6 应用程序的退出

MFC编程 ·MFC类库是C++类库,构成了MFC编程框架。这些类分别封 装了Win32应用程序编程接口、应用程序的概念、OLE特性 ,以及ODBC和DAO数据访问功能。 OLE-- bject Linking and Embedding(对象链接与嵌 入)一种面向对象的技术,可以开发重复使用的软组件。 ODBC-- Open Database Connectivity(开放数据库连 接),是为解决异构数据库间的数据共享而产生的,是基于 Windows环境的对数据库访问的一种接口标准。 DAO-- Data Access object(数据访问对象),是一个 面向对象的数据库接口, Microsoft Jet数据库引擎。 MFC对象与 Windows对象有不可分割的关系。 Windows对 象是Win32下用句柄表示的 Window操作系统对象;MFC 对象是C++对象,是一个C++类的实例。两者有很大的区别 ,但联系紧密
MFC编程 • MFC类库是C++类库,构成了MFC编程框架。这些类分别封 装了Win32应用程序编程接口、应用程序的概念、OLE特性 ,以及ODBC和DAO数据访问功能。 • OLE------Object Linking and Embedding(对象链接与嵌 入)一种面向对象的技术,可以开发重复使用的软组件。 • ODBC------Open Database Connectivity(开放数据库连 接),是为解决异构数据库间的数据共享而产生的,是基于 Windows环境的对数据库访问的一种接口标准。 • DAO------Data Access Object(数据访问对象), 是一个 面向对象的数据库接口,Microsoft Jet 数据库引擎。 • MFC对象与Windows对象有不可分割的关系。Windows对 象是Win32下用句柄表示的Windows操作系统对象;MFC 对象是C++对象,是一个C++类的实例。两者有很大的区别 ,但联系紧密

41MFC概述 41MFC是一个编程框架P85 MFC应用程序框架,简称MFC框架,是由MFC ( Microsoft Foundation Class library)中的各种类结合起来 构成的。MFC框架从总体上定义了应用程序的轮廓,并提供了 用户接口的标准实现方法,程序员只须通过预定义的接口把具 体应用程序特有的东西填入这个轮廓,就能建立 Windows下的 应用程序
MFC应用程序框架,简称MFC框架,是由MFC (Microsoft Foundation Class Library)中的各种类结合起来 构成的。MFC框架从总体上定义了应用程序的轮廓,并提供了 用户接口的标准实现方法,程序员只须通过预定义的接口把具 体应用程序特有的东西填入这个轮廓,就能建立Windows下的 应用程序。 4.1 MFC概述 4.1.1 MFC是一个编程框架 P85

41.1MFC是一个编程框架 MicrosoftⅤ isual o++提供了相应的工具来完成这个工作 用应用程序向导( App wizard)可以生成应用程序的骨架文件 (代码和资源等);用资源编辑器可以直观地设计用户接口; 用类向导( Class Wizard)可以将代码添加到骨架文件;用编 译器可以通过类库实现应用程序特定的逻辑。MFC实现了对 应用程序概念的封装,把类、类的继承、动态约束、类的关系 和相互作用等封装起来
Microsoft Visual C++提供了相应的工具来完成这个工作: 用应用程序向导(AppWizard)可以生成应用程序的骨架文件 (代码和资源等);用资源编辑器可以直观地设计用户接口; 用类向导(ClassWizard)可以将代码添加到骨架文件;用编 译器可以通过类库实现应用程序特定的逻辑。MFC实现了对 应用程序概念的封装,把类、类的继承、动态约束、类的关系 和相互作用等封装起来。 4.1.1 MFC是一个编程框架

411MFC是一个编程框架 1.MFC类库封装的内容P86 MFC类库是C++类库,构成了MFC框架。 (1)对Win32应用程序编程接口的封装 MFC将每一个 Windows对象封装成一个相应的C++对象。 (2)对应用程序概念的封装 使用SDK编写 Windows应用程序时,总要定义窗口过程, 注册 Windows class刨建窗口等等,要做许多处理工作。 MFC封装了这些处理,替程序员完成这些工作
1.MFC类库封装的内容 P86 MFC类库是C++类库,构成了MFC框架。 (1) 对Win32应用程序编程接口的封装 MFC将每一个Windows对象封装成一个相应的C++ 对象。 (2) 对应用程序概念的封装 使用SDK编写Windows应用程序时,总要定义窗口过程, 注册Windows Class,创建窗口等等,要做许多处理工作。 MFC封装了这些处理,替程序员完成这些工作。 4.1.1 MFC是一个编程框架

41MFC是一个编程框架 (3)对 COMOLE特性的封装 OLE(对象的链接与嵌入)建立在COM(组件对象模型) 之上,由于支持OLE的应用程序必须实现一系列的接口 ( Interface),因而相当繁琐。MFC的OLE类封装了OLE API大量的复杂工作,提供了实现OLE的更高级接口。 (4)对ODBC功能的封装 MFC封装了 ODBCAPI的大量的复杂的工作,形成了与 ODBC之间接口的高级C++类,提供了一种方便的访问数据 库的编程模式
(3) 对COM/OLE特性的封装 OLE(对象的链接与嵌入)建立在COM(组件对象模型) 之上,由于支持OLE的应用程序必须实现一系列的接口 (Interface),因而相当繁琐。MFC的OLE类封装了OLE API大量的复杂工作,提供了实现OLE的更高级接口。 (4) 对ODBC功能的封装 MFC封装了ODBC API的大量的复杂的工作,形成了与 ODBC之间接口的高级C++类,提供了一种方便的访问数据 库的编程模式。 4.1.1 MFC是一个编程框架

411MFC是一个编程框架 2.MFC类的继承关系P86 MFC将众多类的共同特性抽象出来,设计出一些基类, 作为实现其他类的基础。有两个类十分重要。 CObject是MFC的根类,绝大多数MFC类是从它派生 的。 CObject实现了一些重要的特性,包括动态类信息、动 态创建、对象序列化、对程序调试的支持等等。所有从 CObject派生的类都将具备或者可以具备 Cobject所拥有的特 性
2.MFC类的继承关系 P86 MFC将众多类的共同特性抽象出来,设计出一些基类, 作为实现其他类的基础。有两个类十分重要。 CObject是MFC的根类,绝大多数MFC类是从它派生 的。CObject 实现了一些重要的特性,包括动态类信息、动 态创建、对象序列化、对程序调试的支持等等。所有从 CObject派生的类都将具备或者可以具备CObject所拥有的特 性。 4.1.1 MFC是一个编程框架

41.1MFC是一个编程框架 另一个是 CCmdTarget类,它是从 CObject派生的。 CCmdTarget类通过进一步封装一些属性和方法,提供了消息处 理的架构。在MFC中,任何可以处理消息的类都是从 CCmdTarget类派生的 针对每种不同的对象,MFC都设计了一组类对这些对象进 行封装,每一组类都有一个基类,从基类派生出众多更具体的 类。这些对象包括以下种类:窗口对象,基类是Cwnd;应用 程序对象,基类是 Cwin thread;文档对象,基类是 Cdocument, 等等。程序员可以结合自己的实际,从适当的MFC类中派生出 自己的类,实现特定的功能,达到自己的编程目的
另 一 个 是 CCmdTarget 类 , 它是从 CObject 派 生 的 。 CCmdTarget类通过进一步封装一些属性和方法,提供了消息处 理的架构 。 在 MFC 中 , 任 何 可 以 处 理 消 息 的 类 都 是 从 CCmdTarget类派生的。 针对每种不同的对象,MFC都设计了一组类对这些对象进 行封装,每一组类都有一个基类,从基类派生出众多更具体的 类。这些对象包括以下种类:窗口对象,基类是CWnd;应用 程序对象,基类是CwinThread;文档对象,基类是Cdocument, 等等。程序员可以结合自己的实际,从适当的MFC类中派生出 自己的类,实现特定的功能,达到自己的编程目的。 4.1.1 MFC是一个编程框架

41.1MFC是一个编程框架 3.虚拟函数和动态约束P86 MFC建立了消息映射机制,以一种富有效率、便于使 用的手段解决消息处理函数的动态约束问题。 这样,通过虚拟函数和消息映射,MFC类提供了丰富 的编程接口。程序员在继承基类的同时,可以把自己实现的 虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程 框架将在适当的时候、适当的地方来调用程序的代码
3.虚拟函数和动态约束 P86 MFC建立了消息映射机制,以一种富有效率、便于使 用的手段解决消息处理函数的动态约束问题。 这样,通过虚拟函数和消息映射,MFC类提供了丰富 的编程接口。程序员在继承基类的同时,可以把自己实现的 虚拟函数和消息处理函数嵌入MFC的编程框架。MFC编程 框架将在适当的时候、适当的地方来调用程序的代码。 4.1.1 MFC是一个编程框架

41.1MFC是一个编程框架 4.MFC的开发模板P87 MFC实现了对应用程序概念的封装,实现了类、类的继 承、动态约束、类的关系和相互作用的封装。这样封装的结 果是为程序员提供了一套开发模板,罗列在应用程序向导 App wizard中。针对不同的应用和目的,程序员可以采用不 同的模板。例如,SD咩文档应用程序模板,MD多文档应用 程序模板,规则DLL应用程序模板,扩展DL应用程序模板, OLE/ ctive应用程序模板,等等。这些模板都采用以文档 视图为中心的思想,每个模板都包含一组特定的类
4.MFC的开发模板 P87 MFC实现了对应用程序概念的封装,实现了类、类的继 承、动态约束、类的关系和相互作用的封装。这样封装的结 果是为程序员提供了一套开发模板,罗列在应用程序向导 AppWizard中。针对不同的应用和目的,程序员可以采用不 同的模板。例如,SDI单文档应用程序模板,MDI多文档应用 程序模板,规则DLL应用程序模板,扩展DLL应用程序模板, OLE/ActiveX应用程序模板,等等。这些模板都采用以文档- 视图为中心的思想,每个模板都包含一组特定的类。 4.1.1 MFC是一个编程框架
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 航空航天(PPT课件讲稿)Mechanics——Particle Motion.ppt
- 上海交通大学:《软件工程导论》课程教学资源(PPT课件讲稿)第十三讲 软件项目中的人员管理.ppt
- Data Mining and Model Choice in Supervised Learning.ppt
- 武昌理工学院:《操作系统原理》课程教学资源(PPT课件)第一章 操作系统概述(主讲:温静).pptx
- 《Computer Networking:A Top Down Approach》英文教材教学资源(PPT课件讲稿,6th edition)Chapter 8 网络安全 Network Security.ppt
- 西安电子科技大学:《现代密码学》课程教学资源(PPT课件讲稿)第六章 数字签名算法.pptx
- 华中师范大学:智能与分布计算(PPT课件讲稿)语义网与本体 Semantic Web & Ontology(Introduction).ppt
- 中国科学技术大学:《计算机科学导论》课程教学资源(PPT课件讲稿)第五讲 经典计算的计算模型(主讲:陈意云).pptx
- 《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第5章 循环结构程序设计.ppt
- 香港科技大学:Introduction to Software Defined Network(SDN).pptx
- 《微机原理笔记》课程教学资源(PPT课件讲稿)第6章 输入输出和中断技术.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第九章 图计算.ppt
- 《大型机高级系统管理技术》课程教学资源(PPT课件讲稿)第3章 作业控制语言.ppt
- 贵州师范学院:《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第9章 结构体.ppt
- A New Approach for Accurate Modelling of Medium Access Control(MAC)Protocols.ppt
- 西安电子科技大学:人工神经网络(PPT讲稿)Artificial Neural Networks(Introduction).ppt
- 《数据结构和编程设计》课程教学资源(PPT课件讲稿)Chapter 1 Programming Principles.ppt
- 《微机原理》课程教学资源(PPT课件讲稿)第三章 寻址方式与指令系统.ppt
- 《数据结构》课程教学资源(PPT课件讲稿)第九章 排序 Sort.ppt
- 中国科学技术大学:《数据结构》课程教学资源(PPT课件)第八章 查找表.pps
- 东南大学:《数据结构》课程教学资源(PPT课件讲稿)贪心算法.pptx
- 《计算机算法基础》课程教学资源(PPT课件讲稿)分枝-限界法.ppt
- 《计算机系统和系统结构》课程教学资源(PPT课件讲稿)第四章 流水线技术.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第6章 存储器管理.ppt
- 山东大学:《微机原理及单片机接口技术》课程教学资源(PPT课件讲稿)第二章 微型计算机基础知识.ppt
- 《The C++ Programming Language》课程教学资源(PPT课件讲稿)Lecture 05 Object-Oriented Programming.ppt
- 四川大学:《计算机操作系统 Operating System Principles》课程教学资源(PPT课件讲稿)第7章 虚拟存储器管理.ppt
- 《计算机软件技术基础》课程电子教案(PPT课件讲稿)第9章 存储管理.ppt
- 上海交通大学:传感器网络研究 Research On Sensor Nets(主讲:伍民友).ppt
- 南京航空航天大学:《数据结构》课程教学资源(PPT课件讲稿)第五章 数组和广义表.ppt
- 《大数据挖掘与应用技术》课程教学资源(PPT课件讲稿)第12章 Hibernate持久化技术.ppt
- 中国科学技术大学:《计算机体系结构》课程教学资源(PPT课件讲稿)第7章 多处理器及线程级并行 7.3 分布式共享存储器体系结构 7.4 Models of Memory Consistency.pptx
- Acknowledged Broadcasting and Gossiping in ad hoc radio networks.ppt
- Apache Spark:Intro to Spark(Lightning-fast cluster computing).pptx
- 中国科学技术大学:《网络信息安全 NETWORK SECURITY》课程教学资源(PPT课件讲稿)第三章 局域网安全技术及应用.ppt
- 面向服务的业务流程管理(PPT讲稿)Business Process Analysis and Modeling.pptx
- 中国铁道出版社:《局域网技术与组网工程》课程教学资源(PPT课件讲稿)第6章 Internet.ppt
- 《计算机视觉》课程教学资源(PPT课件讲稿)第二章 视觉的基本知识 第二节 视觉物理学特性.pptx
- 北京航空航天大学:《程序设计语言原理》课程教学资源(PPT课件)第0章 绪论(主讲:吕卫锋)程序语言设计方法学 The Methodology Of Programming Language.ppt
- 《单片机原理及应用》课程PPT教学课件(C语言版)第1章 单片机基础知识概述.ppt