如何获取视类指针:
1.首先要获得第一个视类对象在视类对象列表中的位置,用GetFirstViewPosition方法
virtual POSITION GetFirstViewPosition( ) const;
 A POSITION value that can be used for iteration with the GetNextView member function.
  POSITION   A value used to denote the position of an element in a collection; used by 
  MFC collection classes.(用来表示一个值在集合中元素的位置,为MDC的集合类所使用)
 Call this function to get the position of the first view in the list of views associated with the document.
 
2.然后通过GetNextView当前位置视类对象的指针
注:单文档类只有一个视类对象
 一个文档类对象能和多个视类对象相关,一个视类对象只和一个文档类对象相关.
---------------------------------------------------------------------------------
在CGraphicDoc::Serialize方法中
使用CArchive对象保存可串行化的类对象

要在文档类中访问定义在视类中的对象,
首先要获得第一个视类对象在视类对象列表中的位置,需要用到函数CDocument::GetFirstViewPosition,
然后通过GetNextView当前位置视类对象的指针.

---------------------------------------------------------------------------------

文档类中调用Serialize保存一个可串行化的CGraph类的对象时,实际上是调用了CGraph类的
对象本身的Serialize函数完成各成员数据的保存,这个调用过程由框架自动完成,
所以对象本身的Serialize方法中,设定保存该对象时需要保存那些成员,
这些工作在你编写可串行化的类时去确定.
---------------------------------------------------------------------------------
在CObArray::Serialize方法中
使用CArchive对象保存可串行化的类对象
m_obArray由CObArray继承而来,CObArray本身支持可串行化,
所以我们可以直接调用该对象的Serialize方法保存对象数据

---------------------------------------------------------------------------------
CObArray本身支持可串行化,我们也可以在文档类中定义一个 CObArray对象 m_obArray,
然后在View中调用该对象的Add方法实现对象的保存。这样就可以不用在CDocument类中
的Serialize方法中再写保存数据的代码了。
1.在文档类中定义一个CObArray 变量
 CObArray m_obArray;
2.在View中可以这样调用m_obArray
3.在CGraphicDoc::Serialize方法中,
 CGraphicDoc *pDoc=GetDocument();
 pDoc->m_obArray.Add(pGraph);

---------------------------------------------------------------------------------

如何获取文档类的指针?
我们在View类中发现有一个GetDocument()方法,这个方法返回值就是一个文档类指针,
可以用这个方法直接获得文档类指针。

孙鑫VC学习笔记:第十三讲 (五) 保存可串行化的类对象 如何获取文档与视类指针相关推荐

  1. 孙鑫VC++学习笔记(转载至程序员之家--虎非龙)[11--15] .

    第11课 1.创建4个菜单,为其添加消息响应,用成员变量保存绘画类型.添加LButtonDown和Up消息. 2.当窗口重绘时,如果想再显示原先画的数据,则需要保存数据.为此创建一个新类来记录绘画类型 ...

  2. 孙鑫VC++学习笔记(转载至程序员之家--虎非龙)[11--15]

    第11课 1.创建4个菜单,为其添加消息响应,用成员变量保存绘画类型.添加LButtonDown和Up消息. 2.当窗口重绘时,如果想再显示原先画的数据,则需要保存数据.为此创建一个新类来记录绘画类型 ...

  3. 孙鑫VC学习笔记:第七讲

    七.对话框 2006年8月5日 14:25 因为笔记是用OneNote做的,上传以后为看不到图片,于是我截图放到相册上面, 相册地址为:http://photo.163.com/photos/good ...

  4. 孙鑫mfc学习笔记第十四课

    第十四课 网络的相关知识,网络程序的编写,Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过bind与驱动程序建立关系.此后,应用程序送给Socket的数据,由Sock ...

  5. 孙鑫VC学习系列教程

    教程简介 1.循序渐进 从Win32SDK编程开始讲解,帮助大家理解掌握Windows编程的核心 -- 消息循环机制. 2.通俗易懂 编程语言枯燥难懂,然而通过孙鑫老师形象化的讲解,Windows和M ...

  6. 孙鑫VC++讲座笔记-(6)菜单编程

    1,弹出菜单(Pop-up)是不能用来作命令响应的. 2,MFC中菜单项消息如果利用ClassWizard来对菜单项消息分别在上述四个类中进行响应,则菜单消息传递顺序:View类--Doc类--CMa ...

  7. 视觉SLAM十四讲学习笔记——第十三讲 实践:设计SLAM系统

    1.如何运行示例代码 首先是如何运行示例代码,这里遇到了很多问题: (1)首先要下载Kitti数据集,并在config/default.yaml文件内修改路径. (2)安装Glog.GTest.GFl ...

  8. 孙鑫MFC学习笔记1.Windows应用程序运行机理

    1.MSG结构 hwnd:窗口句柄 message:消息类型 wParam & lParam:消息的附加信息(比如键值) time:消息被投递的时间 tip:typedef的作用是从变量类型区 ...

  9. mfc编程 孙鑫_孙鑫VC++视频教程笔记-(3)MFC程序框架的剖析 附1-SDI程序流程图

    1,寻找WinMain人口: 在安装目录下找到MFC文件夹下的SRC文件夹,SRC下是MFC源代码. 路径:MFC|SRC|APPMODUL.CPP: _tWinMain(HINSTANCE hIns ...

  10. 线性代数学习笔记——第十三讲——行列式的定义

    1. 一.二.三阶行列式的定义 2. n阶行列式任意元素的余子式与代数余子式的定义 3. n阶行列式的定义 4. 行列式按第一行的展开式 5. 二.三阶行列式适合对角线法则(四阶及四阶以上的行列式一般 ...

最新文章

  1. 为了智能驾驶,李彦宏要改造城市道路
  2. chromium 源码下载地址
  3. MySQL高级 - SQL优化 - group by 优化
  4. 复习Javascript专题(一):基本概念部分
  5. 用递归与分治策略求解网球循环赛日程表_算法设计:分治法(比赛日程安排)...
  6. CodeForces 828C String Reconstruction(并查集思想)
  7. POJ1321-Chess Problem(dfs基础题)
  8. matplotlib绘制圆饼图
  9. python编写函数模拟内置函数sorted_Python 内置函数sorted()在高级用法
  10. 如何利用各大博客引流
  11. Python文件(二):数据组织的维度,一维数据的表示、存储、处理
  12. 深入探访支付宝双11十年路,技术凿穿焦虑与想象极限 1
  13. 配分函数|机器学习推导系列(二十六)
  14. 2021衡阳田家炳高考成绩查询,衡阳2021高考最高分多少分,衡阳历年高考状元资料...
  15. 【观察】美达电器:以数字化重塑质量管理体系,构筑车企新“护城河”
  16. 为传统行业提供新思路,“智享沙龙—硬科技赋能传统产业升级”即将开启
  17. UDK 脚本编译运行
  18. 后疫情时代2020年后游戏引擎技术会如何发展?
  19. 想知道美国大学按计算机专业的排名,以及各大学在计算机哪个方面是强项,应该去哪里查找?...
  20. 泰斗破坏神中对象一直为空,但对象的字段值却不为空

热门文章

  1. 在C7000+VMware vSphere5.5环境中的基础架构服务器部署实例
  2. IE浏览器—自定义地址协议详解(非转载)
  3. xFire入门(eclipse、tomcat环境)
  4. 【ResNet翻译】Deep Residual Learning for Image Recognition
  5. 10 JavaScript函数
  6. linux程序执行时内存情况
  7. 垃圾回收中的finalize方法
  8. HadoopLearning
  9. 第二季-专题20-移植bootm命令启动内核
  10. 文件解压缩,删除文件,创建文件,读取xml文件为json字符串,得到相对路径下的图片名称...