这是把编辑框数据保存为txt,哪位大佬可以改成保存列表框的?
mfc吧
全部回复
仅看楼主
level 1
りしrishi 楼主
求各位大佬帮帮忙,列表框IDC_LIST1如图
void CKiritoMFCS4Dlg::OnSave()
{
// TODO: Add your control notification handler code here
CString strText1(_T(""));
GetDlgItemText(IDC_EDIT1, strText1); //获取EDIT1中的数据
CFileDialog dlg(false,"txt",_T("%s\\新建文本文档.txt"),OFN_OVERWRITEPROMPT,"tupian(*.jpg)|*.jpg|Text(*.txt)|*.txt|All Files(*.*)|*.*||",NULL);
dlg.m_ofn.lpstrTitle=_T("请选择保存路径");
if(dlg.DoModal()==IDOK)
{
strDirFile=dlg.GetPathName();
CStdioFile file;
file.Open(strDirFile,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
file.WriteString(strText1);
//写入对应edit box中的数据
file.Close();
}
}
2017年12月28日 08点12分 1
level 3
我也遇到了同样的问题,求解
2017年12月29日 01点12分 2
level 1
りしrishi 楼主
控件是这一个
2017年12月29日 09点12分 3
没太理解你到底想干嘛
2017年12月29日 09点12分
@可爱的小黑土土 就是把n行,k列的数据存入到TXT中
2017年12月29日 09点12分
@可爱的小黑土土 是列表框里的数据
2017年12月29日 09点12分
@りしrishi 循环整个list的数据往txt写就行,是哪里有问题?
2017年12月29日 09点12分
level 1
控件变量为 CListCtrl m_list1;
插入数据例子:
m_list1.InsertColumn( 0, "ID", LVCFMT_LEFT, 40 );//插入列
int nRow =m_list1.InsertItem(0, ""); //插入行(第0行)
m_list1.SetItemText(nRow, 0, "(0.00, 130.00)");//设置数据(第0行第0列)
nRow = m_list1.InsertItem(1, ""); //插入行(第1行)
m_list1.SetItemText(nRow, 0, "(0.02, 131.88)");//设置数据(第1行第0列)
nRow = m_list1.InsertItem(2, ""); //插入行(第2行)
m_list1.SetItemText(nRow, 0, "(0.03, 133.75)");//设置数据(第2行第0列)
nRow = m_list1.InsertItem(3, ""); //插入行(第3行)
m_list1.SetItemText(nRow, 0, "(0.05, 135.63)");//设置数据(第3行第0列)
保存数据例子:
void CTestListCtrlDlg::OnButton1()
{
// TODO:Add your control notification handler code here
CFileDialog dlg(false,"txt",_T("%s\\我的数据.txt"),OFN_OVERWRITEPROMPT,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*||",NULL);
CString strDirFile; //文件路径
if(dlg.DoModal()==IDOK)
{
strDirFile=dlg.GetPathName();
CStdioFile file;
file.Open(strDirFile,CFile::modeCreate|CFile::modeReadWrite|CFile::shareExclusive);
CString str1,str2,str3, str4;
str1=m_list1.GetItemText(0,0); //第0行第0列
str2=m_list1.GetItemText(1,0); //第1行第0列
str3=m_list1.GetItemText(2,0); //第2行第0列
str4=m_list1.GetItemText(3,0); //第3行第0列
CString strSave = str1 + "\n" +
str2 + "\n" +
str3 + "\n" +
str4;
file.WriteString(strSave);
MessageBox(strSave);
file.Close();
}
}
2017年12月30日 04点12分 5
level 1
为了简单直观,没有写循环
2017年12月30日 04点12分 6
1