孙鑫VC学习笔记:第十三讲 (五) 保存可串行化的类对象 如何获取文档与视类指针
2007-12-25 14:50
726 查看
如何获取视类指针:
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()方法,这个方法返回值就是一个文档类指针,
可以用这个方法直接获得文档类指针。
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学习笔记:第十三讲 保存可串行化的类对象 如何获取文档与视类指针
- 孙鑫VC++视频学习笔记之8: MFC中指针的获取
- 孙鑫VC学习笔记:第十三讲 用CArchive类读取与保存文件
- 孙鑫VC学习笔记:第十三讲 (二) 设置文档标题
- 孙鑫VC学习笔记:第八讲 逃跑按钮的巧妙实现和MFC中指针的获取
- 孙鑫VC学习笔记:第十三讲 (一) 用CArchive类读取与保存文件
- 孙鑫VC学习笔记:第八讲 逃跑按钮的巧妙实现和MFC中指针的获取
- 孙鑫VC学习笔记:第十一讲 如何把元文件保存到文件当中
- 孙鑫VC学习笔记:第十三讲 生成可串行化的类
- 孙鑫VC学习笔记:第十六讲 利用事件对象实现线程间的同步
- 孙鑫VC++视频教程笔记(13)文档与串行化
- 孙鑫VC学习笔记:第十六讲 (一) 利用事件对象实现线程间的同步
- 学习笔记之Document Object Model(1)——如何使用document获得文档元素(element对象)
- 孙鑫VC学习笔记:第十三讲 (三) WM_FILE_NEW消息响应原理
- 孙鑫 第十三课之一 文档与串行化(CArchive类保存文件)
- 孙鑫VC学习笔记:第十一讲 (二) 图形的保存与重绘方法
- 孙鑫VC学习笔记:第十二讲 介绍常量指针、指针常量,文本、二进制文件
- 安卓学习笔记---如何保存数据到SharePreference里面,获取所有sp文件以及删除文件
- 孙鑫VC++视频学习笔记之11:图形保存和重绘
- 孙鑫VC学习笔记:第十一讲 (二) 图形的保存与重绘方法一