第9讲--基于文档视图结构的程序.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文档。上传文档
查看更多
9.4.3 用户与视图进行交互 视图提供了用户与文档中的数据交互的手段和工具。用户通过击键、菜单选择、工具栏按钮选取、鼠标的按下、松开、移动等输入操作,经过Windows系统转化为一般的窗口消息(来自鼠标和键盘消息)和命令消息(来自菜单、工具栏和加速键),视图通过处理这些消息,来获取用户的操作信息,解释用户操作的意义,实现用户的意图。 由于汽车管理程序要通过录入界面得到每一辆车的信息,因而要设计一个对话框实现输入的界面。 在对话框资源中增加一个ID号为IDD_DIALOG_CAR对话框资源模板,如下页图所示。 图9.12汽车录入界面 表9.3控件的主要属性设置与对应的成员变量 对话框建立好后,通过类向导再建立一个与该对话框资源IDD_DIALOG_CAR所关联的对话框类CCarDlg。 2.输入对话框的调用 在工具栏资源IDR_MAINFRAME中增加一个ID号为ID_BUTTON_CAR的按钮,如下页图所示。再利用CalssWizard在视图类CCarManageView中增加它对COMMAND消息的响应函数OnButtonCar()。 在工具栏资源IDR_MAINFRAME增加按钮 void CCarManageView::OnButtonCar() //对工具栏中的按钮ID_BUTTON_CAR的消息响应函数 { CCarManageDoc* pDoc = GetDocument(); //取与视图所关联的文档 ASSERT_VALID(pDoc); CCarDlg MyCarDlg; //声明输入汽车信息对话框变量MyCarDlg if(MyCarDlg.DoModal()==IDOK) //如果点击确定的化 { m_Car.SetCarValues(MyCarDlg.m_CarNumber,MyCarDlg.m_CarType, MyCarDlg.m_Color, MyCarDlg.m_MaxSpeed); /*将话框中所输入的汽车信息保存到视图类的成员变量m_Car中, SetCarValues为CCar的成员函数*/ pDoc-AddCar(m_Car); //将新增的汽车m_Car通过调用文档类的成员函数AddCar增加到文档类的对象数组m_oaCars中 Invalidate();//屏幕刷新,发送WM_PAINT消息,引发OnDraw的执行 } } 习题 一、名词解释 1. 文档模板 2.视图 3.框架 4. 持久化 5.序列化 二、简单题 1.MFC中都有哪些从CView派生出来的视图类?他们都用在什么地方。 2.拿Word字处理程序的运行界面来说,它是一个典型的多文档模板、一个模板多个文档、一个文档多个视图的应用程序。请写出其界面中所对应的是MFC中的哪些类? 3.从CObject派生的类可以实现序列化,一个类要实现序列化都有哪些操作步骤?每一步的含义是什么? 三、实验题 1. 模仿本章实例,建立一个基于文档/视图结构的应用程序,它能实现简单的学生成绩管理。它有三个对话框,分别实现学生信息录入、课程信息录入和学生考试信息录入。 2. 在上述程序基础上,实现输入数据的持久化处理。完后上机调试。 * 9.1.5 文档/视图结构优点 文档/视图结构重要的特征是数据操作与数据显示分离。由于数据操作与数据显示分别按标准方法封装于两个不同类型的对象中,因而这两项任务的工作量都被大大简化了,各个对象单独存在,而不是将两种代码混在一起。一般说来,对那些有大量数据需要管理、或数据显示非常复杂的应用,文档/视结构显得尤为有用。 文档/视图结构另一个重要特征是许多MFC类对公共的文档/视图活动提供了大量的帮助。例如,对文件的操作(选择文件、打开文件和关闭文件)完全由框架类来管理。用户所需做的仅仅是从数据流中读写所需要的字节,这种工作方法可以省略相同代码的重复编写,而将更多的时间用于编写应用程序的特殊代码上。 9.2 框架——视图的容器 9.2.1 框架窗口的组成 9.2.2 框架窗口的创建和清除 9.2.3 框架窗口的子窗口 9.2.4 框架窗口与用户交互对象 9.2.1 框架窗口的组成 框架窗口是由窗口类来管理的,在SDI应用程序中,框架

文档评论(0)

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

分享好文档!

1亿VIP精品文档

相关文档