第五章 MFC类库.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 MFC类库

第五章 MFC类库;CObject;CCmdTarget;第一节 什么是MFC; 在应用程序中,要创建一个大的switch语句,其中的case语句来对应每个要处理的消息。 所以在这些基本程序中要花费大量的时间,还要记住很多规则。例如使用CreateBitmap()创建一个位图,用DeleteObject()来取消它,而且必须保证WM_PAINT代码中成对地使用BeginPaint()和EndPaint()从而不至于使 Windows出现混乱。 上述这些工作,正是应用程序框架要做的事情。使用它,将避免每次都去重新编写重复的代码。; 实际上,应用程序框架完成两项功能:首先定义了一个应用程序的初始行为;其次为调用Windows API提供了一个基于类的接口。 二、MFC的主要作用 1.MFC是以C++类的形式提供的; 2.提供了编写Windows应用程序的的编程基础和 许多高级函数; 3.MFC支持多种应用程序界面; 4.对工具栏的泊定和浮动提供支持; 5.封装了GDI(Graphical Device Interface图形设备接口);; 借助GDI,可以创建(Pen)画笔对象、Fonts (字体)对象、Brush(画刷)对象等。 MFC的一个重要特点是具有很高的兼容性,支持几乎所有的Windows版本。;VC++;一、基本程序框架类 常用MFC应用程序包括四个类:文档类、视图类、主框架窗口类和应用类。 文档类:C***Doc,其中.h用来存放类、结构等的定义代码,.cpp用来存放类的成员函数的实际代码。 视图类:C***View,负责显示文档类的数据(可在屏幕、打印机或其它输出设备上显示)、处理用户输入。 框架类:包括CMainFrame和CChildFrame。;主框架窗口类用来显示标题、菜单条、系统菜单、工具条、状态条等,子框架窗口只能在主框架窗口内显示,共享其菜单。 应用类:完成其它工作如初始化程序和清除。 二、MFC的文档-视图结构 有必要对MFC使用的文档/视图(Document/ View)体系作些解释。大多数应用程序框架都使用这种体系。 在文档/视图体系中,应用程序处理的不是窗口,而是文档。文档就象类一样,它知道如何从文件读写、如何更新、如何同视图交流。视图就是显示文档的类。; 例如在一个文本编辑器中的文档就是待处理的数据(文本),视窗显示文档的内容,它看起来很象一个窗口。但是,在多文档程序中(如Excel???,同样的数据可能有多个视窗,而且,由于文档知道如何与视窗交流,如果改变了一个视窗中的内容,同一文档的其它视窗也会改变。在电子表格中,它的文档仅是由数据和公式构成的一张表,有两个视窗,一个是数据的图形显示(数字的行列),另一种是这些数字的统计图。也就是说,一个文档有两种视窗方式(一个表和一个图形),如果改变了表格视窗中的数字,则文档就能自我更新,并通知视窗显示新的数据。; 假定有一些文稿、一块黑板、一些工具盒,由这些组成了一个工作环境,则文档类创建的对象负责文稿的管理工作,每个对象负责一份文稿的管理。SDI中只有一份文稿,只需要一个文档对象,MDI中可以有多份文稿,需要多个文档对象来管理,每个对象仍只能管理一份文稿。 黑板用来显示文档的内容,框架类的对象负责黑板的管理工作。一个主框架类的对象负责摆放粉笔盒的位置(工具条、菜单、状态条等的布置)。同时主框架对象又能在自己管辖范围内划出一块区域(窗口)交给子框架对象;管理,子框架对象把管理的窗口划出一部分给视图使用。 视图类的作用是将文稿中的内容进行显示。视图类的对象在创建时已经被规定用来显示哪份文稿。如何显示(用文字还是用图、大字还是小字、红粉笔还是白粉笔)是由视图类对象决定的。MDI情况下,情况复杂得多,如两份文档,其中一个创建了五个视图类对象,另一份创建了三个,则共有八个视图对象,创建了八个子框架对象。;三、文档-视图结构的常用成员函数 CDocument::OnNewDocument: 从“文件”菜单中选择打开和新建时被调用。该函数调用DeleteContents来清除文档中的数据 CDocument::UpdateAllViews( ) CDocument::Serialize( ) 该函数一般需要在文档子类中重载 void SXXXDoc::Serialize(CArchivear) { if(ar.IsStoring()) {//向文件中写数据( ar )} else {//从文件中读数据(ar)} };三、文档-视图结构的常用成员函数 CView::GetDocument()

文档评论(0)

sheppha + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5134022301000003

1亿VIP精品文档

相关文档