问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么把对象保存到文件中 vc

发布网友 发布时间:2022-09-10 15:42

我来回答

5个回答

热心网友 时间:2024-05-08 14:47

#include "StdAfx.h"
#include "..\include\skinbuttonstate.h"
////////////////////////////////////////////////////

////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CSkinScrollBarState,CObject,1)
CSkinScrollBarState::CSkinScrollBarState(void)
: m_bArrow1(FALSE)
, m_bArrow2(FALSE)
, m_bScrollBar(FALSE)
, m_bThurmb(FALSE)
{
m_imageArrow1= new CSkinImageRect();
m_imageArrow2= new CSkinImageRect();
m_imageScrollBar= new CSkinImageSection();
m_imageThurmb= new CSkinImageSection();
}

CSkinScrollBarState::~CSkinScrollBarState(void)
{
if(m_imageArrow1)
delete m_imageArrow1;
if(m_imageArrow2)
delete m_imageArrow2;
if(m_imageScrollBar)
delete m_imageScrollBar;
if(m_imageThurmb)
delete m_imageThurmb;
m_imageArrow1 = NULL;
m_imageArrow2 = NULL;
m_imageScrollBar = NULL;
m_imageThurmb = NULL;
}
void CSkinScrollBarState::Serialize(CArchive &ar)
{
CObject::Serialize(ar);
if(ar.IsStoring())
{
ar << m_bArrow1 << m_bArrow2 << m_bScrollBar << m_bThurmb;
}
else
{
ar >> m_bArrow1 >> m_bArrow2 >> m_bScrollBar >> m_bThurmb;
}
if(m_bArrow1)
m_imageArrow1->Serialize(ar);
if(m_bArrow2)
m_imageArrow2->Serialize(ar);
if(m_bScrollBar)
m_imageScrollBar->Serialize(ar);
if(m_bThurmb)
m_imageThurmb->Serialize(ar);
}

////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CSkinWindowFrame,CObject,1)
CSkinWindowFrame::CSkinWindowFrame(void)
{

}

CSkinWindowFrame::~CSkinWindowFrame(void)
{

}
void CSkinWindowFrame::Serialize(CArchive &ar)
{
CObject::Serialize(ar);
m_imageTop.Serialize(ar);
m_imageBottom.Serialize(ar);
m_imageLeft.Serialize(ar);
m_imageRight.Serialize(ar);
}
bool CSkinWindowFrame::DrawTop(CDC *pDC,SkinRect rectDst)
{
if(m_imageTop.m_strImageName.IsEmpty())
return false;
else
{
m_imageTop.Draw(pDC,rectDst);
return true;
}
}
bool CSkinWindowFrame::DrawBottom(CDC *pDC,SkinRect rectDst)
{
if(m_imageBottom.m_strImageName.IsEmpty())
return false;
else
{
m_imageBottom.Draw(pDC,rectDst);
return true;
}
}
bool CSkinWindowFrame::DrawLeft(CDC *pDC,SkinRect rectDst)
{
if(m_imageLeft.m_strImageName.IsEmpty())
return false;
else
{
m_imageLeft.Draw(pDC,rectDst);
return true;
}
}
bool CSkinWindowFrame::DrawRight(CDC *pDC,SkinRect rectDst)
{
if(m_imageRight.m_strImageName.IsEmpty())
return false;
else
{
m_imageRight.Draw(pDC,rectDst);
return true;
}
}
////////////////////////////////////////////////////
IMPLEMENT_SERIAL(CSkinMenuBar,CObject,1)
CSkinMenuBar::CSkinMenuBar(void)
{
}

CSkinMenuBar::~CSkinMenuBar(void)
{
}
void CSkinMenuBar::Serialize(CArchive &ar)
{
CObject::Serialize(ar);
m_imageNormal.Serialize(ar);
m_imageActive.Serialize(ar);
m_imagePressed.Serialize(ar);

m_textNormal.Serialize(ar);
m_textGrayed.Serialize(ar);
m_textActive.Serialize(ar);
m_textPressed.Serialize(ar);

if(ar.IsLoading())
ar>>m_colorActive>>m_colorPressed;
else
ar<<m_colorActive<<m_colorPressed;

}

热心网友 时间:2024-05-08 14:48

用序列化技术。CArchive。
其实保存对象,实际就是保存类成员变量。具体可参考msdn:
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_vclib/html/1db772b1-ad55-4fcf-b133-126cca082510.htm

ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_vclib/html/a829b6dd-bc31-47e0-8108-fbb946722db9.htm

热心网友 时间:2024-05-08 14:48

这涉及到C++的串行化过程。重载Doc类的Serialize函数,在其中将Doc的成员变量串行和并行化:
if (ar.IsStoring())
{
// TODO: add storing code here
ar<<m_var1<<m_var2<<m_var3;
}
else
{
// TODO: add loading code here
ar>>m_var1>>m_var2>>m_var3;
}
这里假设m_var1,m_var2,m_var3是Doc类的成员变量。记住if-else结构中的变量顺序一定要一致!

热心网友 时间:2024-05-08 14:49

这涉及到C++的串行化过程。重载Doc类的Serialize函数,在其中将Doc的成员变量串行和并行化

热心网友 时间:2024-05-08 14:50

路过,呵呵,都不懂你的问题,学习下。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 C++如何将对象保存到文件中? 水化的水化作用 中学生作文《根》300字 有关根的作文600字5篇 描述根的作文800字5篇 水化作用 花蚬子这样做,吃着不牙碜,辣爽鲜香,比外面大排档做得都好吃 哪些人不能吃桑葚干 USB-COROM是什麽意思 小额贷款,我提前还完注销删了,就没事了吧? 不需要的贷款可以注销吗?贷款注销顺序很重要! 自然堂洗面奶可否祛痘 养老保险的缴费年限和工龄的区别与联系 已知进项税和税负如何求应开多少销项税? 已知进项,求销项,如何计算?有公式吗?大家帮帮忙吧! 知道增值税的进项税额如何算销项税额?求公式! 已知进项和税负,怎么算销项? 销项税和进项税怎么计算 知道进项金额和税负率怎么算销项金额和税费 鼠标蓝牙打开没反应怎么办? c++中怎样才能将对象存入文件中,并且从文件中读出,请举个例子 c++如何在文件里存储类对象? 水对岩体的化学作用 什么是跳线(名词)?什么是电平?请通俗地解释 什么是跳线(名词)?什么是电平?请通俗解释 隋军攻入建康后,陈叔宝最后是如何死的? 水化作用的水合 阴道镜检查异常转化区clnl、cinii、spi是什么意思 宫颈慢性炎,灶性鳞状辈皮呈CINII级,伴湿疣样改变,这是什么意思。医生说... 化学风化作用的水化作用 细胞质的水化作用是什么? 水化的成因 蛋白质的水化作用在生产上有何实际意义 these(对应词)是什么? the_se的对应词 爽肤水是不是含酒精?会带走脸上的水分?不适合秋冬用? 林清轩绿茶角质调理水是去角质的么?急!!! 这个系列含不含酒精? 在陌陌里他把我拉黑了没关注我我发的动态他能够及时看到吗 茶叶厂用电还是天然气 成都好未来素质教育怎么样啊?