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)