変更時に保存したいアプリの魔女にいくつかの設定があります。チェックボックスがあります:
void CL2HamsterDlg::OnBnClickedCheckAutoselect()
{
CFile theFile( pFileName1,CFile::modeWrite );
CArchive ar(&theFile, CArchive::store);
if(c_Acheck.GetCheck()==BST_UNCHECKED)
a = 0;
else
a = 1;
ar << a;
ar.Close();
theFile.Close();
}
および保存ボタン付きのコンボ ボックス (保存を押すと、コンボ コンテンツが保存されます):
void CL2HamsterDlg::OnClickedButtonLoad()
{
Value.GetWindowText(str);
CFile theFile( pFileName1,CFile::modeWrite );
CArchive ar(&theFile, CArchive::store);
ar << Savename;
ar.Close();
theFile.Close();
}
初期化アプリでは、これらの設定を読み込んで設定する必要があります。
BOOL CL2HamsterDlg::OnInitDialog()
{
CDialogEx::OnInitDialog();
pFileName1 = "settings.dat";
theFile.Open( pFileName1,CFile::modeRead );
CArchive ar(&theFile, CArchive::load);
ar >> a;
ar.Close();
theFile.Close();
if(a == 1)
c_Acheck.SetCheck(BST_CHECKED);
return TRUE;
}
ただし、いずれかの設定が変更されるたびに、プログラムはファイルを上書きします。
ps。レジストリを使用したくない(原因が移植可能であるため)
私の質問は、シリアル化の方法で設定を読み書きする方法です。
プログラム設定の状態を保存する代替方法は何ですか? (例をお願いします)