类库基础(MFC)模版ppt课件.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
类库基础(MFC)模版ppt课件

人类需要伟大思想家的指引。中国人说:天不生仲尼,万古如长夜。正是有了老子、释迦牟尼、苏格拉底、柏拉图、亚里士多德,人类才从根本上告别了荒昧,走向人文、理性、高贵。 第4章 Microsoft类库基础(MFC) 引言 MFC APP Wizard创建应用程序的类型: 对话框应用程序 单文档应用程序 多文档应用程序 方法: 示例: 4.4 MFC基础 什么是MFC MFC(Microsoft Foundation Class ):微软基础类库,是用来编写Windows应用程序的C++类集。其中封装了大部分Windows API函数、数据结构、宏和Window控件,并以对象的形式提供给用户。 4.4 MFC基础 MFC的特点: 该类集以层次结构组织 封装了Windows API和Windows控件 MFC向应用程序提供了访问API的一种模拟面向对象的访问方式。 在MFC程序中,程序员很少需要直接调用API函数,而是通过定义MFC类的对象并调用对象的成员函数来实现相应的功能。 使用MFC提高代码重用性。大大简化Windows编程,提高效率 MFC类结构 MFC类结构 CObject CCmdTarget CWinThread CDocTemplate CDocumnet CWnd CSingleDocTemplate CWinApp CMutiDocTemplate CFrameWnd CView CContolBar CMDIFrameWnd CTooBare CStatusBar CMDIChildWnd 多数MFC类是从三个基类(Base Class )派生的: 4.4.1 三大基类 CObject CCmdTarget CWnd Cobject:根类 CCmdTarget:命令相关类 CWnd :窗口类 1. 根类(Cobject) CObject类的概念 CObject类是MFC的抽象基类 提供许多编程所需要的公共操作 CObject提供的操作: 对象的建立和删除 支持序列化(serialization support) 运行时(Run-time) 对象诊断输出(object diagnostic output) 与容器类兼容(compatibility with collection classes) 序列化和运行时 序列化 序列化是指将对象写入永久性存储媒体(如磁盘文件)或从其中读取对象的进程 两个重要函数:Serialize和IsSerialize 运行时 允许程序检索对象的类名和其他信息 重要的两个函数:IsKindOf和GetRuntimeClass 2. 命令相关类(CCmdTarget) 命令相关类(CCmdTarget)的概念 是所有具有消息映射类的基类 作用 消息映射规定了当一对象接收消息命令时,应调用那一个函数对给消息进行处理。 3.窗口类( CWnd) 该类提供了MFC中所有窗口类的基本功能 该类的成员函数封装了负责创建和维护窗口的Windows API函数 CWnd类派生于CCmdTarget 4.4.2 应用类 1.应用程序类(CWinApp) 2.应用程序框架类 (CFrameWnd) 3.文档、视图类(CDocument/Cview) 4.文档模板类(CDocTemplate) 1.应用程序类(CWinApp) CWinApp类封装了应用程序的初始化、运行和终止应用程序代码。负责初始化并运行应用程序,运行中与其他对象协调工作 应用程序类是应用程序运行时创建的第一个对象,并最后一个终止 基于框架生成的应用程序必须有且仅有一个从 CWinApp 派生的类的对象。 CWinApp类层次关系图 1.应用程序类(CWinApp)续 CwinApp三个实现基本功能的函数: InitInstance:负责初始化应用程序 Run:进行消息循环,获取发送给应用程序的消息并调用响应的消息处理函数,直到WM_QUIT。没消息执行OnIdle函数。 ExtiInstance:是在Run中调用的,一旦收到WM_QUIT消息就执行它 有可用的消息吗? 空闲处理 OnIdle() 有可用的消息吗? 还有空闲任务吗? 等待消息 Get/Translate/ Dispatch Y Y N N Y N Run成员函数的消息循环 2.应用程序框架类 (CFrameWnd) 对于SDI或MDI程序都有一个“主框架窗口” 负责显示并跟踪用户命令以及显示应用程序主窗口。 对于SDI应用程序 框架类派生于CFrameWnd类 对于MDI应用程序 框架类则派生于CMDIFrameWnd类 子框架都派生于CMDIChildWnd类 CFrameWnd类层次关系图 CWnd CFrameWnd CMDI

文档评论(0)

2017meng + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档