Visual C++基础教程 教学课件 作者 郭文平 第7-8章 第8章.pptVIP

Visual C++基础教程 教学课件 作者 郭文平 第7-8章 第8章.ppt

  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文档。上传文档
查看更多
8.2.2 框架窗口类   框架窗口类CMainFrame从CFrameWnd类派生,其头文件为MainFrm.h,实现文件为MainFrm.cpp。它主要负责管理应用程序窗口,创建并显示标题栏、菜单栏、工具栏和状 态栏。  AppWizard生成的框架窗口类中添加了对框架窗口创建时发送的消息WM_CREATE的处理函数OnCreate,在此函数中首先调用基类的OnCreate函数,基类的OnCreate通过调用OnCreateClient创建视图窗口对象,然后创建工具栏和状态栏,并使工具栏成为可移动的。  在CMainFrame类中还重载了虚函数PreCreateWindow,此函数在创建框架窗口前由应用程序框架调用。可以通过修改CREATESTRUCT结构参数cs的值来改变窗口的默认风格,例如改变窗口大小和位置,修改窗口背景、光标和图标等。 8.2.3 文档类  文档类CEX8_1Doc从CDocument类派生,其头文件为EX8_1Doc.h,实现文件为EX8_1Doc.cpp。它主要负责应用程序数据的保存和装载,实现文档的序列化功能。  文档类CEX8_1Doc主要包含两个成员函数,一个是OnNewDocument,另一个是Serialize。当用户执行“文件”→“新建”命令时,MFC应用程序框架会自动调用OnNewDocument函数;另外,在应用程序启动时也会调用此函数。OnNewDocument函数主要用于初始化文档。函数Serialize用来负责文档数据的保存和读取。 8.2.4 视图类   视图类CEX8_1View是从CView派生的,其头文件为EX8_1View.h,实现文件为EX8_1View.cpp。视图类用于处理客户区窗口,是框架窗口的一个子窗口,负责应用程 序数据的显示以及如何进行人机交互。  在视图类CEX8_1View中重载了基类CView的成员函数GetDocument,通过此函数可以获取与此视图窗口关联的文档类的指针m_pDocument。由于视图窗口主要用来显示文档内的数据,因此通过此指针就可以访问文档类的数据成员和成员函数。   在视图类CEX8_1View中还重载了基类CView的虚函数OnDraw。此函数被应用程序框架调用,负责文档数据在视图窗口中的输出。当产生屏幕更新、打印和打印预览消息时,框架自动调用此函数。实际上,在CView类的WM_PAINT消息处理函数OnPaint中调用了OnDraw函数,因此,每当视图窗口需要更新时都会自动调用OnDraw。如果用户在应用程序的视图类中添加了对WM_PAINT的处理函数,则用户可以选择是否调用OnDraw。例如例8.1中在OnDraw函数中添加了显示文字的代码。  另外,在视图类CEX8_1View中还重载了基类CView的三个虚函数OnPreparePrinting、OnBeginPrinting和OnEndPrinting,用来负责处理与打印预览和打印有关的事务。三个函数中,只在OnPreparePrinting中调用了基类的同名函数,其它两个函数为空,需要用户添加附加的初始化代码和打印结束后的清理代码。 8.2.5 对话框类  对话框类CAboutDlg从CDialog派生,其定义和实现都在EX8_1.cpp文件中,当执行“帮助”→“关于”菜单命令时,显示关于程序版本信息的对话框。 8.2.6 其它文件   除了生成主要类的源代码文件外,AppWizard还生成为建立应用程序所必需的其它 文件:  (1) ?Resource.h:资源头文件,用于定义项目中所有资源的标识符,给资源ID分配一个整数值。  (2) ?StdAfx.h和StdAfx.cpp:标准包含文件,用于生成项目的预编译头文件(EX8_1.pch)和预编译类型信息文件(StdAfx.obj)。预编译文件用于提高项目的编译速度。  (3) ?EX8_1.clw:类向导文件,存放由MFC ClassWizard使用的信息。利用ClassWizard类向导添加新类、为类添加数据成员和成员函数时要使用该文件,利用ClassWizard建立和编辑消息映射时也需要存储在该文件中的信息。   (4) ?EX8_1.rc:包含资源描述信息的资源文件。资源文件列出了应用程序所有的资源,包括存储在子目录\res中的图标、位图和光标。一般利用Visual C++ IDE的资源编辑器对资源进行可视化编辑,也可以通过Open命令以文本方式打开一个资源文件进行编辑。  (5) ?res\EX8_1.rc2:包含不是由Visual C++资源编辑器编辑的资源。可以将所有不能由资源编辑器编辑的资源

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档