MFC文档、视图类的基本功能和二者基本关系
MFC中,文档类的基本功能是负责管理数据;视图类的基本功能是显示数据;
二者的基本关系是,视图类有一个文档指针m_pDocument ;
使用VC6新建一个单文档工程;生成的类中,xxxDoc这个是文档类,xxxView这个是视图类;
重写文档类OnOpenDocument函数;打开类向导;按下图进入OnOpenDocument的编辑代码;
在磁盘新建一个文本文件,录入下图内容;
在文档类头文件添加一个 str1;
在文档类CPP文件添加如下代码;读入文件,存到字符串str1;lpszPathName是打开文件时框架自己传给OnOpenDocument函数的;
if(lpszPathName!=NULL){ CFile pCFile;int hResult=pCFile.Open(lpszPathName, CFile::modeReadWrite); //以读写方式打开文件if(hResult != 0){// AfxMessageBox("打开文件成功");}//将文件读到str字符串pCFile.Read(str1.GetBuffer(pCFile.GetLength()), pCFile.GetLength()); pCFile.Close();}
视图类的OnDraw函数负责输出;添加如下一行代码;
pDC->DrawText(pDoc->str1,pDoc->str1.GetAllocLength(),CRect(0,0,1000,1000),DT_WORDBREAK);
CRect是输出文字的矩形范围;
运行程序;选择 文件-打开 菜单,弹出一个对话框;
打开上面建的文本文件;输出如下内容;
只要打开文件就显示出来;
当打开文件时,框架自己调用了 CFiledemo1Doc::OnOpenDocument,文件内容读入到str1;
当窗口第一次显示时,CFiledemo1View::OnDraw会自己被调用;
MFC文档、视图类的基本功能和二者基本关系相关推荐
- 玩转MFC文档视图架构编程1——深入浅出MFC文档/视图架构之基本概念深入浅出MFC文档/视图架构之文档
原创地址: 深入浅出MFC文档/视图架构之基本概念 http://iis.xrtvu.com/Tech/ShowArticle.asp?ArticleID=276 深入浅出MFC文档/视图架构之文档模 ...
- C++--深入分析MFC文档视图结构(项目实践)
1 必备基础知识概述 1.1 MFC 文档视图结构程序结构总揽 当我们使用 MFC AppWizard 生成一个 MFC 程序,选用所有默认的设置(当然也是 Multiple Documents ,本 ...
- 深入分析MFC文档视图结构(项目实践)
文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分 ...
- OpenCV+MFC文档视图结构 构建简易PS图像处理软件
简介 本文介绍了基于OpenCV图像处理库的MFC框架下的图像处理程序构建方法. 本项目依赖OpenCV库4.1.0版本,构建和编译由VS2017完成. 程序目录 simPS2.h/simPS2.cp ...
- MFC文档/视图结构体系及SDI回顾(2)
1.牢骚发在最前面 三件事情杂糅到了一起弄得我彻夜未眠. 香港大学的Offer不小心丢在了垃圾邮箱里,却阴差阳错的来了清华.平台是一方面,当时谈好的港府奖学金也就此泡汤,这笔钱是我急需的. 惊闻噩耗, ...
- 深入浅出MFC文档/视图架构之文档
1.文档类CDocument 在"文档/视图"架构的MFC程序中,文档是一个CDocument派生对象,它负责存储应用程序的数据,并把这些信息提供给应用程序的其余部分.CDocum ...
- 深入浅出MFC文档/视图架构之文档模板
在"文档/视图"架构的MFC程序中,提供了文档模板管理者类CDocManager,由它管理应用程序所包含的文档模板.我们先看看这个类的声明: / // CDocTemplate m ...
- MFC 文档 视图 框架窗口间的关系 和消息传送规律
在MFC中引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口.因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDoc ...
- MFC 单文档 视图类中CMyDoc* GetDocument() const编译时错误:缺少“;”(在“*”的前面)...
转:https://blog.csdn.net/hanjieson/article/details/8194337 造成原因:在其他的类之中使用到MyView.h的头文件 解决方案 :在加MyView ...
最新文章
- mysql利用merge存储引擎分表的方法
- java软件下载jar_qdox.jar免费版
- python基础语法 第0关print-温州文成高校邦数据科学通识课【Python基础语法】答案...
- Linux颜色所代表的文件类型
- 企业系统门户需要哪些模块_灵活用工平台SAAS系统有哪些功能模块
- 【分布式训练】单机多卡—PyTorch
- 招人!入职阿里仅1年,我和做AI的程序员薪资翻了2倍!
- 哈斯(Hasse)图
- asp.net控件开发基础系列
- 图像尺寸与图像像素、分辨率的关系
- 脑机接口专栏 | 如何分析静息状态的fMRI数据?(二)
- element-ui vue-quill-editor 富文本编辑器 解决插入图片不采用base64 从服务器传图片在显示返回url
- 动视是否磨灭了暴雪的灵魂?
- 开源库实现SwitchButton开关按钮
- 安卓手机APP 开发
- 粒子滤波 机器学习_用机器学习研究粒子物理学中的开放性问题
- 深入学习Gremlin(5):查询路径path
- 台湾大学林轩田教授机器学习基石课程理解及python实现----PLA
- Java基础 DAY06
- bugku_托马斯.杰斐逊解题报告
热门文章
- Rest 微服务工程搭建01——微服务提供者Module模块
- Timer的schedule和scheduleAtFixedRate方法的区别解析
- Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列
- Python 【搜狐号】短视频的自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、微视、西瓜视频、微信视频号等平台的视频自动化同步发布
- C语言实现变步长求积分算法
- 第一课--EFM32GG11系列--点亮LED灯
- AD的PCB板设计中PCB板的开槽
- [学习笔记]信号与系统
- [BJDCTF2020]EzPHP 1
- ORB特征匹配(python)