MFC文档的串行化与保存原理

 

代码示例:http://download.csdn.net/detail/nuptboyzhb/4147438

假设:

工程名为:My

文档类的成员变量:CObArray  m_ObArray;

自定义类1:CShape (实现了自己的串行化)

自定义类2:CLine(从CShape派生出来,也实现了串行化)

m_ObArray通过自己的.Add函数,保存了一系列CShape类型的指针;而这些指针全部指向Cline对象的;

响应文档类的Serialize(CArchive& ar)——函数中执行CObArray 对象的Serialize函数——该函数执行依次执行一组对象的Serialize函数;

 

保存过程:

 

应用举例:

 CFont *m_font;成员变量的串行化:

    if (ar.IsStoring())
    {
       ar.Write(m_font,sizeof(CFont));
    }
 else
 {
   m_font=new CFont();
     memset(m_font,0,sizeof(CFont));
   ar.Read(m_font,sizeof(CFont));
 }

 

你可能感兴趣的:(文档,mfc)