接前面的列表对话框
在列表框所在的界面新建一个按钮,命名为保存,按钮的事件过程中调用一下数据保存数据文件
void CMyMFCDlg::OnBnClickedSaveButton()//按下保存按钮
{
TCHAR szFilter[] = _T(“文本文件(*.txt)|*.txt|| “); //在下面实例fileDlg中作为参数使用
// 构造保存文件对话框
CFileDialog fileDlg(FALSE, _T(“txt”), _T(“my”), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);
/*TRUE为打开文件对话框,FALSE为保存,此处是保存
_T(“txt”),默认文件格式,也可以是_T(“doc”)或者是_T(“xls”)
_T(“my”),默认文件名为“my.txt”
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,打开文件的方式隐藏文件对话框上的“Read Only”复选框
以及弹出覆盖文件对话框,可以固定
szFilter,文件过滤器
this,文件对话框的父窗口的指针,可以固定*/
if (IDOK == fileDlg.DoModal()) // 调用DoModal()显示保存文件对话框,如果确认按下执行以下
{
CStdioFile MyFile; //打开文件,上面是打开保存文件对话框,不同
MyFile.Open(fileDlg.GetPathName(),CFile::modeWrite | CFile::modeRead | CFile::modeCreate);
/*fileDlg.GetPathName(),获取文件路径;后面的是打开方式*/
int iRowCount = m_List.GetItemCount();//取得行数
int iCellCount = m_List.GetHeaderCtrl()->GetItemCount(); //取得列数
for (int iRow = iRowCount-1; iRow >=0; iRow–)//使用循环嵌套,读出列表中每一个内容
{
for (int iCell = 0; iCell < iCellCount; iCell++)
{
MyFile.Seek(0, CFile::end); //找到文件结尾
MyFile.WriteString(m_List.GetItemText(iRow, iCell)+”\t”); //列表中读取数据,调用WriteString方法写入文件
}
MyFile.WriteString(L”\n”);
}
MyFile.Close();
}
}
文件名MyMfc
最简单的写入
CStdioFile MyFile; //创建文件实体
MyFile.Open(“c:\\test\\myfile.dat”,CFile::modeWrite);//打开文件
MyFile.WriteString(m_List.GetItemText(iRow, iCell)+”\t”);//写入文件
MyFile.Close();//关闭文件