- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
visual-C文档视图结构
Visual C++程序设计 杨琦 计算机教学实验中心 西安交通大学 授 课 内 容 5.1文档/视图概念 5.2应用程序类和文档模板类 5.3 框架类 5.4 视图类 5.5 文档类 5.6 文档/视图结构中各类对象之间的协作关系 5.7 序列化 5.8 多文档应用程序 5.9 其他视图类 5.10 典型案例 知识点 CWinApp CDocTemplate CFrameWnd(CMainFrame) CView CDocument CArchive CScrollView CEditView 5.1文档/视图概念 在框架窗口结构中,文档/视图功能均在框架类中 功能细化 文档可视为一个应用程序的数据元素的集合 视图是数据的用户界面, 通过窗口显示 通过打印机打印 提供用户与文档中数据的交互功能 5.1文档/视图概念 文档/视图关系 5.2应用程序类CWinApp 5.2应用程序类CWinApp MFC类库提供的全局函数 CDocTemplate提供的成员函数 CDocTemplate提供的成员函数 单文档界面程序使用文档模板类 CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CMyDoc), RUNTIME_CLASS(CMainFrame), RUNTIME_CLASS(CMyView)); 5.3 框架类CMainFrame 5.4 视图类CView CView类成员函数 5.5 文档类CDocument CDocument类成员函数 【例5-1】 彩色泡泡程序 5.6 文档/视图结构中各类对象之间的协作关系 5.7 序列化 5.7 序列化 【例5-2】 彩色泡泡程序数据的保存 void CMyDoc::Serialize(CArchive ar) { if(ar.IsStoring()) { ar m_nBubbleCount; for(int i=0; im_nBubbleCount; i++) { ar m_rectBubble[i]; ar m_colorBubble[i]; } } else …… } 5.8 多文档应用程序 【例5-3】 使用多文档模板编写彩色泡泡程序。 解题步骤: (1)用MFC生成一个MDI应用程序框架(取工程名为My),程序均采用默认设置。 (2)将例5-1和例5-2的代码拷贝到程序中即可。 5.9.2 窗体视图 * * 文档(document)指的是数据组合的抽象,它通常对应磁盘文件,也可以对应I/O端口(包括打印机、键盘)或一块内存空间(串流)。 同样的数据,我们可以用不同的方式来表示。把纯的数据放在文件中或数据库中。而把显示方式分离出来,可以让一份数据有多种不同的显示方式,程序中的数据表现称为“视” 。这样就可以分别考虑数据的保存——文档,和数据的表现——视。 MFC提供了一种应用程序框架,其核心就是文档/视结构。在三种最基本的MFC程序框架中有两种:多文档结构和单文档结构。MFC采用两个既相互独立又相互紧密联系的类来实现这一结构: 1.文档类CDocument,它主要用于存取文档; 2.视图类CView,它主要用于显示和打印文档,并支持与用户的交互。 读数据 送显 视图窗口 数据保存在视图成员变量中 视图对象 文档对象 数据保存在文档的成员变量中 由文档实现数据的提取和插入 存档对象 由视图实现文档数据更新 由视图实现数据更新 文件对象 从应用程序的.INI文件中的入口获取一个字符串 GetProfileString 从应用程序的.INI文件中的入口获取一个整数 GetProfileInt 加载一个图标资源 LoadIcon 配置注册表主键值 m_pszRegistryKey 配置INI文件名 m_pszProfileName 可执行文件名 m_pszExeName 应用程序主窗口指针 m_pMainWnd 表明应用程序的命令行 m_lpCmdLine 指明应用程序的名字 m_pszAppName 含 义 数据成员和成员函数 筛选消息 PreTranslateMessage 当应用程序终止时重载该函数来做清理工作 ExitInstance 空闲时间处理 OnIdle 事件循环 Run 重载该函数来完成Windows实例初始化工作 InitInstance 向“最近打开的文件”菜单添加一个文件 AddToRecentFileList 添加一个文档模板到应用程序已有文档模板列表中 AddDocTemplate 写一个字符串到应用
文档评论(0)