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文档、视图类的基本功能和二者基本关系相关推荐

  1. 玩转MFC文档视图架构编程1——深入浅出MFC文档/视图架构之基本概念深入浅出MFC文档/视图架构之文档

    原创地址: 深入浅出MFC文档/视图架构之基本概念 http://iis.xrtvu.com/Tech/ShowArticle.asp?ArticleID=276 深入浅出MFC文档/视图架构之文档模 ...

  2. C++--深入分析MFC文档视图结构(项目实践)

    1 必备基础知识概述 1.1 MFC 文档视图结构程序结构总揽 当我们使用 MFC AppWizard 生成一个 MFC 程序,选用所有默认的设置(当然也是 Multiple Documents ,本 ...

  3. 深入分析MFC文档视图结构(项目实践)

    文档视图结构(Document/View Architecture)是MFC的精髓,也是Observer模式的具体实现框架之一,Document/View Architecture通过将数据和其表示分 ...

  4. OpenCV+MFC文档视图结构 构建简易PS图像处理软件

    简介 本文介绍了基于OpenCV图像处理库的MFC框架下的图像处理程序构建方法. 本项目依赖OpenCV库4.1.0版本,构建和编译由VS2017完成. 程序目录 simPS2.h/simPS2.cp ...

  5. MFC文档/视图结构体系及SDI回顾(2)

    1.牢骚发在最前面 三件事情杂糅到了一起弄得我彻夜未眠. 香港大学的Offer不小心丢在了垃圾邮箱里,却阴差阳错的来了清华.平台是一方面,当时谈好的港府奖学金也就此泡汤,这笔钱是我急需的. 惊闻噩耗, ...

  6. 深入浅出MFC文档/视图架构之文档

    1.文档类CDocument 在"文档/视图"架构的MFC程序中,文档是一个CDocument派生对象,它负责存储应用程序的数据,并把这些信息提供给应用程序的其余部分.CDocum ...

  7. 深入浅出MFC文档/视图架构之文档模板

    在"文档/视图"架构的MFC程序中,提供了文档模板管理者类CDocManager,由它管理应用程序所包含的文档模板.我们先看看这个类的声明: / // CDocTemplate m ...

  8. MFC 文档 视图 框架窗口间的关系 和消息传送规律

    在MFC中引入了文档-视结构的概念,文档相当于数据容器,视相当于查看数据的窗口或是和数据发生交互的窗口.因此一个完整的应用一般由四个类组成:CWinApp应用类,CFrameWnd窗口框架类,CDoc ...

  9. MFC 单文档 视图类中CMyDoc* GetDocument() const编译时错误:缺少“;”(在“*”的前面)...

    转:https://blog.csdn.net/hanjieson/article/details/8194337 造成原因:在其他的类之中使用到MyView.h的头文件 解决方案 :在加MyView ...

最新文章

  1. mysql利用merge存储引擎分表的方法
  2. java软件下载jar_qdox.jar免费版
  3. python基础语法 第0关print-温州文成高校邦数据科学通识课【Python基础语法】答案...
  4. Linux颜色所代表的文件类型
  5. 企业系统门户需要哪些模块_灵活用工平台SAAS系统有哪些功能模块
  6. 【分布式训练】单机多卡—PyTorch
  7. 招人!入职阿里仅1年,我和做AI的程序员薪资翻了2倍!
  8. 哈斯(Hasse)图
  9. asp.net控件开发基础系列
  10. 图像尺寸与图像像素、分辨率的关系
  11. 脑机接口专栏 | 如何分析静息状态的fMRI数据?(二)
  12. element-ui vue-quill-editor 富文本编辑器 解决插入图片不采用base64 从服务器传图片在显示返回url
  13. 动视是否磨灭了暴雪的灵魂?
  14. 开源库实现SwitchButton开关按钮
  15. 安卓手机APP 开发
  16. 粒子滤波 机器学习_用机器学习研究粒子物理学中的开放性问题
  17. 深入学习Gremlin(5):查询路径path
  18. 台湾大学林轩田教授机器学习基石课程理解及python实现----PLA
  19. Java基础 DAY06
  20. bugku_托马斯.杰斐逊解题报告

热门文章

  1. Rest 微服务工程搭建01——微服务提供者Module模块
  2. Timer的schedule和scheduleAtFixedRate方法的区别解析
  3. Python 代码绘制航海王四皇大妈(BIG MOM) - 门卫大爷也能跟着学会的Turtle海龟绘图系列
  4. Python 【搜狐号】短视频的自动上传与发布实例演示,同时支持抖音、快手、哔哩哔哩、小红书、微视、西瓜视频、微信视频号等平台的视频自动化同步发布
  5. C语言实现变步长求积分算法
  6. 第一课--EFM32GG11系列--点亮LED灯
  7. AD的PCB板设计中PCB板的开槽
  8. [学习笔记]信号与系统
  9. [BJDCTF2020]EzPHP 1
  10. ORB特征匹配(python)