MFC 文件序列化 读取出现差错

圆明圆 2014-04-28 10:57:43
我写了一个MFC通讯录单文档小程序,列表框,当打开已保存的文件时,列表框上的标题自动多一个?
void CTopListView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
listctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
listctrl.InsertColumn(0, _T("StudentName"), LVCFMT_LEFT, 200);
listctrl.InsertColumn(1, _T("Phonenumber"), LVCFMT_LEFT, 200);
}
...全文
97 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
微型蚂蚁 2014-04-29
  • 打赏
  • 举报
回复
Open的时候会再次调用OnInitialUpdate
圆明圆 2014-04-29
  • 打赏
  • 举报
回复
对不住,昨天晚上宿舍断电了,上错图了。
当打开一个新文件时,列表框的表头就自动多了一行。
*DOC的序列化是这样的:
void CAddressListDoc::Serialize(CArchive& ar)
{
CStuInfo student;
if (ar.IsStoring())
{
m_count = m_ArStuInfo.GetSize();
ar << m_count;
for (int n = 0; n < m_count; n++)
{
student = m_ArStuInfo.GetAt(n);
ar <<student.strStuName << student.strStuPhone;

}

// TODO: 在此添加存储代码
}
else
{
ar >> m_count;
for (int n = 0; n < m_count; n++)
{
ar >> student.strStuName >> student.strStuPhone ;
m_ArStuInfo.Add(student);
}
}


}

65,209

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧