Visual C++程序设计教程 -梁建武 第4章.ppt

Visual C++程序设计教程 -梁建武 第4章.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 Microsoft类库基础 4.1 Microsoft类库概述 MFC(Microsoft Foundation Class )类库是Visual C++程序设计的核心,它封装了许多常用的Windows API函数,绝大部分的Visual C++应用程序都是在此基础上构成的。 MFC具有以下特点: 完全支持所有的Windows函数、控制、消息、GDI基本图形函数、菜单以及对话框。 使用与传统的Windows API同样的命名规则,因此,一个类所能完成的工作可直接从名字得知。 不使用容易产生错误的switch/case语句。所用的消息都映射到类中成员函数,这种直接的消息到方法的映射对所有消息都适用。 通过发送有关对象信息到文件的能力,来提供更好的判断支持。也可以确认成员变量。 提供很多意外处理,减少错误。 在运行时确定数据对象的设计,这允许实例化类时动态操作各域。 代码少,速度快。 三大基类: 大多数MFC类是从三个基类(Base Class )派生的:CObject、CCmdTarget和CWnd。 4.2 根类:CObject CObject提供以下的基本服务 : 支持序列化(serialization support) 运行时(Run-time)类的信息 对象诊断输出(object diagnostic output) 与容器类兼容(compatibility with collection classes) 4.3 MFC应用程序框架结构类 用于构造框架应用程序的结构; 提供多数应用程序公用的功能 ; 组成框架的类对象组合成一个Windows应用程序工作框架。主要的组成对象有: 一个从类CWinApp派生出的应用程序对象; 一个或多个从类CDocument派生出的文档对象 一个或多个从类CView派生出的视对象 4.3.1 CWinApp类 4.3.2 CDocument类 CDocument类层次关系 : 4.3.3 CView类 CView类的层次关系: 4.3.3 CView类 (续) 视图类负责显示、描述、操作、编辑文档类的内容。CView中有个指针型的成员变量指向所依附的文档CDocument,可以通过GetDocument获得该指针,便于对文档编辑。 4.4 MFC窗口类 类CWnd及其派生类封装一个Windows窗口句柄HWND。 CWnd:所有窗口的基类。可使用下面的派生类,或者直接从CWnd派生自己的类。 CFrameWnd:SDI应用程序主框架窗口的基类,也是其它框架窗口的基类。 CMDIFrameWnd:MDI应用程序主框架窗口的基类。 CMDIChildWnd:MDI应用程序文档框架窗口的基类。 CMinFrameWnd:浮动工具条最常见的最小框架窗口。 COleIPFrameWnd:当服务器文档在编辑时为视提供一个框架窗口。 4.5 MFC异常类 MFC类库提供了一个基于CException类的异常处理机制 ,CException类有很多派生类,分别使用于各种场合。 4.5.1 CMemoryException:(Out-of-memory exception内存不足异常) 内存溢出时就会引发CMemoryException。尤其是当new操作符分配内存失败时,这个异常就会产生。因为MFC用new操作符分配内存,所以任何MFC内存分配函数都会产生这个异常。 4.5.2 CNotSupportedException:(Request for an unsupported operation) MFC执行几个不被支持的函数,当用户企图调用这些函数时,就会产生CNotSupportedException异常。所以在自己的不被支持的函数中应用该类也是很方便的。用户也可以通过调用AfxThrowUnsupportException()发出未支持异常。 4.5.3 CArchiveException:(Archive-specific exception) 当序列化操作出错时,就会发出CArchiveException异常。CArchiveException异常类的成员函数m_cause保存了指明异常发出的原因值。 4.5.4 CFileException:(File-specific exception) 在CFile类和CStdioFile以及其他文件类中,进行文件打开、关闭、读、写、指针移动等操作过程中,如果发送错误,一般会出现一个CFileException异常。 4.5.

文档评论(0)

118压缩包课件库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档