- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
大学VisualC案例教程-西安交通大学
教学目标 介绍MFC的文档/视图程序结构及编程 授课内容 4.1文档/视图概念 4.2 视图类 4.3 文档类 4.4 文档/视图结构中的应用程序类 4.5 文档/视图结构中的框架窗口类 4.6 文档/视图结构中各类对象之间的协作关系 4.7 序列化 4.8 自定义类的序列化 4.1 文档/视图概念 目的:是为了将数据的处理和显示工作分离 文档类提供管理和维护数据的手段 视图类提供数据的用户界面 功能细化 文档可视为一个应用程序的数据元素的集合 视图是数据的用户界面, 通过窗口显示 通过打印机打印 提供用户与文档中数据的交互功能 文档/视图结构的两种类型 单文档界面(SDI:Single Document Interface) 同一时刻只能操作一个文档 如Windows的NotePad(记事本) 多文档界面(MDI:Multiple Document Interface) 允许同时对多个文档进行操作 如Microsoft Word 文档/视图结构的特点 对数据的操作与数据显示界面分离 结构清晰 组织灵活 初学者理解困难 标准的操作界面及功能支持,减少开发工作量 新建文件、打开文件、保存文件、文档打印等 支持打印、打印预览和电子邮件发送功能 不适宜使用的场合 4.2 视图类 视图类中主要函数 GetDocument()成员函数用于从文档类中获取数据值 OnDraw(CDC* pDC)方法完成屏幕显示、打印和打印预览功能 OnInitialUpdate()虚成员函数在应用程序启动 ,或用户从File菜单中选择了New或者Open选项时被调用。 视图类中主要工作 显示信息(OnDraw) 消息处理(键盘、鼠标 、定时器等) 读取数据 修改数据 要求重画数据( CWnd::InvalidateRect ) 4.3 文档类 数据定义 文档类的主要成员函数 OnNewDocument()//初始化的位置 DeleteContents() //清除文档数据 删除文档的数据; 确信一个文档在使用前为空。 SetModifiedFlag() //设置修改标志 void SetModifiedFlag ( BOOL bModified = TRUE ); Serialize() //文档的序列化 OpenDocumentFile() 4.4 文档/视图结构中的应用程序类 应用程序类负责唯一的全局应用程序对象的创建、初始化、运行和退出清理过程。 应用程序类的InitInstance( )函数中创建一个文档模板,来管理文档/视图结构涉及的框架窗口、文档和视图。 文档模板负责在运行时动态创建文档、视图和框架窗口。 4.5 文档/视图结构中的框架窗口类 在文档/视图结构中,视图在框架窗口中显示,是框架窗口的子窗口并完全覆盖框架窗口的客户区。 框架窗口的作用有二: 一是为视图提供可视的边框,包括标题条、一些标准的窗口组件(最大、最小化按钮、关闭按钮),象一个容器一样把视图包装起来。 二是响应标准的窗口消息,包括最大化、最小化、调整尺寸等。 4.6 文档/视图结构中的类 应用程序类 负责唯一的全局应用程序对象的创建、初始化、运行和退出清理过程 框架窗口类 为视图类提供容器并响应标准窗口消息 视图类 规定了用户查看文档数据以及同数据交互的方式 文档类 规定了应用程序的数据 各类对象之间的协作关系 唯一的一个应用程序类对象管理一个或多个文档模板 每个文档模板创建和管理一个(SDI)或多个文档(MDI)。 用户通过包含在框架窗口中的视图来浏览和操作文档中的数据。 【例】数据存放于文档类中,在视图类中修改 题目:视图中显示鼠标点击位置(与例2-1比较) 变量定义在文档类: CPoint m_pointMouse; 变量显示在视图类的OnDraw中: CString strDisplay; strDisplay.Format(X=%d,Y=%d,pDoc-m_pointMouse. x, pDoc-m_pointMouse.y); pDC-TextOut(10,10,strDisplay); 变量修改在视图类的OnLButtonDown CMyDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); pDoc-m_pointMouse=point; Invalidate(); 文档/视图类协作关系小结 数据定义、初始化在文档类 数据显示、交互修改一般在视图类 在视图类的成员函数中(如OnLButtonDown等),可以: 访问文档类中的数据,可以从OnDraw中复制两条语句,得到指向文档类的指针(pDoc),并通过该指针访问文档类中的数据。
您可能关注的文档
- 基于句法特征的冗长查询处理技术-北京大学学报.PDF
- 基于可逆映射的地形图数据异构融合研究与实现-张新长.PDF
- 基于同态加密的物联网隐私保护计算方案-计算机工程与应用.PDF
- 基于同步挤压小波变换的电力系统时变谐波检测-电工技术学报.PDF
- 基于哈希学习的动作捕捉数据的编码与检索-计算机辅助设计与图形学.PDF
- 基于哈希的二维工程CAD图拓扑关系认证技术-图学学报.PDF
- 基于因子分解机的信任感知商品推荐-山东大学学报理学版.PDF
- 基于图正则化的半监督非负矩阵分解-计算机工程与应用.PDF
- 基于图割优化的能量最小化模型图像分割方法-计算机应用研究.PDF
- 基于地统计分析方法的谷子种质资源品质与农艺相关性状的空间分区.PDF
原创力文档


文档评论(0)