用CFile,CArchive等都可以保存, 做一个按钮保存,另一个装入,即可。
或者在对话框退出时自动保存,在初始化时自动装入。 无需按行保存,就用一个变量即可
例如:对话框开启时写:
BOOL CTest1Dlg::OnInitDialog()
{
//系统自动产生的代码省略。。。
// TODO: Add extra initialization here
CFile mFile;
if(mFile.Open("user.txt",CFile::modeRead))
{
CArchive ar(&mFile,CArchive::load);
ar>>m_Name>>m_Age;
ar.Close();
UpdateData(FALSE);
}
return TRUE;
}
退出时:
void CTest1Dlg::OnExit()
{
// TODO: Add your control notification handler code here
CFile mFile;
if(mFile.Open("user.txt",CFile::modeWrite|CFile::modeCreate))
{
CArchive ar(&mFile,CArchive::store);
UpdateData(TRUE);
ar<
}
this->OnOK();
}
补充:微软基础类库(英语:Microsoft Foundation Classes,简称MFC)是一个微软公司提供的类库(class libraries),以C++类的形式封装了Windows API,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
你现在这个,是因为使用了MFC标准文档视图框架,在没有自定义的情况下,默认调用了基类的CDocument::OnFileSave()
不自定义,使用默认保存处理,是可以实现文件保存的。
在字符串资源中设置文档默认扩展名可以完成“保存类型”的设置
将要保存的内容完整的序列化到文档类的Serialize中(如果要保存图片,那么需要文件的完整格式进行序列化)
简单的说,在Doc类中重写Serialize成员函数。在函数中对你要保存的对象序列化。
完成之后,点击菜单栏上的保存和打开就可以实现序列化了。
修改字串资源。