| 查看: 928 | 回复: 5 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【求助】CListCtrl列表框中数据保存,读取问题?(楼主取消)
|
|||
|
基于对话框建立的工程,里面包含多个对话框。 在其中一个对话框上添加CListCtrl列表框,列表框有5列,内容通过CEdit框输入获得; 添加多行数据后,要保存添加的这些数据(不是保存到硬盘上);以便后面使用这些数据。 在另一个对话框中添加下拉控件,里面的内容是上面列表框中的第2列,相当于动态添加的。 问:如何保存和读取这样的数据? 有一个想法:定义一个结构体,把数据都存放在结构体里面,下拉控件到这个结构体里面找所需要的列数据。 不知道是否可以,主要是不会编程,希望给出具体代码。 [ Last edited by ben_ladeng on 2011-3-25 at 14:14 ] |
» 猜你喜欢
论文终于录用啦!满足毕业条件了
已经有22人回复
不自信的我
已经有5人回复
磺酰氟产物,毕不了业了!
已经有4人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
» 本主题相关价值贴推荐,对您同样有帮助:
【求助】DSC软件安装和读取数据问题
已经有4人回复
【求助】matlab中保存计算数据的问题
已经有8人回复
» 抢金币啦!回帖就可以得到:
坐标济南,来碰碰运气
+1/475
双一流南京医科大学招计算机、AI、统计、生物信息等方向26年9月入学博士
+1/183
科瑞赛生物内皮细胞培养基试用装限时大放送,助力你的实验高效进阶!
+1/86
上海大学昝鹏教授、军事医学研究院伯晓晨研究员/倪铭副研究员 课题组招聘博士生
+1/85
上海大学昝鹏教授、军事医学研究院伯晓晨研究员/倪铭副研究员 课题组招聘博士生
+1/82
成都理工大学全国重点实验室公开诚聘绿色有机合成方向联培生及科研助理
+1/78
内蒙古大学能源材料化学研究院招聘2026年博士生
+1/76
希望你在这里
+1/64
坐标济南,山东农科院招 有机合成 or 药物化学 联培硕士研究生
+1/39
西北工业大学无人飞行器技术全国重点实验室拟招收电机/自动化方向博士1~2名
+1/30
北京林业大学木质素高值化利用创新团队招收2026年入学博士生
+1/27
福建师范大学柔性电子学院招收2026年博士(储能材料与柔性电子器件)
+2/26
征女友 @长安
+1/24
中科院深圳理工大学网络课题组招聘博后/RA/实习生
+1/12
吉林大学材料物理本科生求问调剂信息
+1/11
博士/硕士招生
+1/10
浙江大学傅杰团队(杰青)高薪招聘博士后
+1/9
废旧塑料热解油采购
+1/3
海南大学化学院—功能分子器件团队2026博士/研究助理招生
+1/2
抗体制剂「隐形杀手」:如何用 QCM-D 实时捕捉亚可见颗粒的形成?
+1/1
5楼2011-03-18 14:40:13
|
我写一下,帮我找找错误吧! 基于Dialog建立工程: 包括三个对话框:IDD_DIALOG_MAIN,IDD_DIALOG_PRODUCT,IDD_DIALOG_METHOD 它们分别对应三个对话框类:CMainDlg,CProductDlg和CMethodDlg 在IDD_DIALOG_MAIN中添加两个按钮,分别调用另外两个对话框; 在IDD_DIALOG_PRODUCT中添加5个CEdit Box,用于输入数据,添加Add按钮,CListCtrl列表框用于显示,再添加一个Save按钮。 在IDD_DIALOG_METHOD中添加Combo Box,用于获得列表中的某一列。 CEdit Box向CListCtrl列表框中添加数据已经实现,这里忽略。主要研究怎么保存CListCtrl列表框中的数据,在其他对话框能继续使用。 首先,在mainDlg.h中定义一个结构体如下: public: typedef struct PartDefinition { CString PartID; CString PartName; CString GivenName; CString AF; CString Type; }ProductInfo; ProductInfo *productinfo; 在ProductDlg.cpp中包含头文件mainDlg.h,并双击Save按钮,添加如下代码: void CProductDlg::OnButtonSave() { // TODO: Add your control notification handler code here int nItemCount=m_listDisp.GetItemCount();//表项总数 for(int i=0;i //按行读取数据 CMainDlg *pMDlg=(CMainDlg *)AfxGetMainWnd(); pMDlg->productinfo->PartID = m_listDisp.GetItemText(i,0); pMDlg->productinfo->PartName = m_listDisp.GetItemText(i,1); pMDlg->productinfo->GivenName = m_listDisp.GetItemText(i,2); pMDlg->productinfo->AF = m_listDisp.GetItemText(i,3); pMDlg->productinfo->Type = m_listDisp.GetItemText(i,4); } 这样,关闭IDD_DIALOG_PRODUCT对话框后,数据保存到结构体中了吗?编译没有问题,运行有问题!!! 再到IDD_DIALOG_METHOD中,在MethodDlg.cpp中包含头文件mainDlg.h,双击Combo Box控件,添加如下代码: void CMethodDlg::OnEditchangeComboPartselection1() { // TODO: Add your control notification handler code here CMainDlg *pMDlg=(CMainDlg *)AfxGetMainWnd(); ((CComboBox *)GetDlgItem(IDC_COMBO_PARTSELECTION1))->InsertString = pMDlg->productinfo->GivenName; } 这样能使下拉列表中添加GivenName,也就是CListCtrl列表框中第三列的值吗??? |
2楼2011-03-09 14:49:05
3楼2011-03-11 11:59:32
4楼2011-03-16 21:13:19







回复此楼