| 5 | 1/1 | 返回列表 |
| 查看: 994 | 回復(fù): 5 | |||
| 當(dāng)前只顯示滿足指定條件的回帖,點(diǎn)擊這里查看本話題的所有回帖 | |||
[交流]
【求助】CListCtrl列表框中數(shù)據(jù)保存,讀取問題?(樓主取消)
|
|||
|
基于對(duì)話框建立的工程,里面包含多個(gè)對(duì)話框。 在其中一個(gè)對(duì)話框上添加CListCtrl列表框,列表框有5列,內(nèi)容通過CEdit框輸入獲得; 添加多行數(shù)據(jù)后,要保存添加的這些數(shù)據(jù)(不是保存到硬盤上);以便后面使用這些數(shù)據(jù)。 在另一個(gè)對(duì)話框中添加下拉控件,里面的內(nèi)容是上面列表框中的第2列,相當(dāng)于動(dòng)態(tài)添加的。 問:如何保存和讀取這樣的數(shù)據(jù)? 有一個(gè)想法:定義一個(gè)結(jié)構(gòu)體,把數(shù)據(jù)都存放在結(jié)構(gòu)體里面,下拉控件到這個(gè)結(jié)構(gòu)體里面找所需要的列數(shù)據(jù)。 不知道是否可以,主要是不會(huì)編程,希望給出具體代碼。 [ Last edited by ben_ladeng on 2011-3-25 at 14:14 ] |
» 搶金幣啦!回帖就可以得到:
+1/182
+1/56
+1/53
+1/42
+1/40
+1/39
+1/39
+1/35
+1/33
+1/20
+1/11
+1/11
+1/11
+1/10
+1/7
+1/7
+1/5
+1/4
+1/3
+1/1
|
我寫一下,幫我找找錯(cuò)誤吧! 基于Dialog建立工程: 包括三個(gè)對(duì)話框:IDD_DIALOG_MAIN,IDD_DIALOG_PRODUCT,IDD_DIALOG_METHOD 它們分別對(duì)應(yīng)三個(gè)對(duì)話框類:CMainDlg,CProductDlg和CMethodDlg 在IDD_DIALOG_MAIN中添加兩個(gè)按鈕,分別調(diào)用另外兩個(gè)對(duì)話框; 在IDD_DIALOG_PRODUCT中添加5個(gè)CEdit Box,用于輸入數(shù)據(jù),添加Add按鈕,CListCtrl列表框用于顯示,再添加一個(gè)Save按鈕。 在IDD_DIALOG_METHOD中添加Combo Box,用于獲得列表中的某一列。 CEdit Box向CListCtrl列表框中添加數(shù)據(jù)已經(jīng)實(shí)現(xiàn),這里忽略。主要研究怎么保存CListCtrl列表框中的數(shù)據(jù),在其他對(duì)話框能繼續(xù)使用。 首先,在mainDlg.h中定義一個(gè)結(jié)構(gòu)體如下: 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();//表項(xiàng)總數(shù) for(int i=0;i //按行讀取數(shù)據(jù) 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); } 這樣,關(guān)閉IDD_DIALOG_PRODUCT對(duì)話框后,數(shù)據(jù)保存到結(jié)構(gòu)體中了嗎?編譯沒有問題,運(yùn)行有問題。。 再到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列表框中第三列的值嗎??? |
|
這個(gè)...沒有插入代碼看的好眼暈... 大致看了一下,思路貌似沒錯(cuò)。 只要保證productinfo是個(gè)全局變量就可以,這樣ProductDlg對(duì)productinfo修改后,其中的值會(huì)發(fā)生變化,ProductDlg關(guān)閉后,productinfo的值也不會(huì)銷毀,其他對(duì)話框依然可以調(diào)用。 至于為什么運(yùn)行出問題,樓主可以單步跟蹤一下。 |
|
像我這樣在mainDlg.h中定義的productinfo屬于全局變量了?如下: mainDlg.h中定義一個(gè)結(jié)構(gòu)體如下: public: typedef struct PartDefinition { CString PartID; CString PartName; CString GivenName; CString AF; CString Type; }ProductInfo; ProductInfo *productinfo; 我有點(diǎn)糊涂,因?yàn)槭歉鶕?jù)對(duì)話框建立的工程,所以怎么樣判斷哪個(gè)是主對(duì)話框,這個(gè)productinfo一定要做主對(duì)話框中定義成全局變量嗎? |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 學(xué)碩274求調(diào)劑 +11 | Li李魚 2026-03-26 | 11/550 |
|
|---|---|---|---|---|
|
[考研] 福建理工大學(xué)材料學(xué)院先進(jìn)合金團(tuán)隊(duì)招收考研調(diào)劑學(xué)生 +3 | 大華金商都 2026-03-30 | 4/200 |
|
|
[考研] 288資源與環(huán)境專碩求調(diào)劑,不限專業(yè),有學(xué)上就行 +11 | lllllos 2026-03-30 | 11/550 |
|
|
[考研] 285求調(diào)劑 +6 | AZMK 2026-03-29 | 9/450 |
|
|
[考研] 328求調(diào)劑 +8 | 嗯滴的基本都 2026-03-27 | 8/400 |
|
|
[考研] 0703 化學(xué) 求調(diào)劑,一志愿山東大學(xué) 342 分 +7 | Shern—- 2026-03-28 | 7/350 |
|
|
[考研] 一志愿中南大學(xué)化學(xué)0703總分337求調(diào)劑 +6 | niko- 2026-03-27 | 6/300 |
|
|
[考研] 298求調(diào)劑 +4 | 種圣賜 2026-03-28 | 4/200 |
|
|
[考研] 321求調(diào)劑 +7 | 璞玉~~ 2026-03-25 | 8/400 |
|
|
[考研] 081200-11408-276學(xué)碩求調(diào)劑 +6 | 崔wj 2026-03-26 | 6/300 |
|
|
[考研] 311(085601)求調(diào)劑 +4 | liziyeyeye 2026-03-28 | 4/200 |
|
|
[考研] 086502化學(xué)工程342求調(diào)劑 +6 | 阿姨復(fù)古不過 2026-03-27 | 6/300 |
|
|
[考研] 求調(diào)劑 +4 | 零八# 2026-03-27 | 4/200 |
|
|
[考研] 314求調(diào)劑 +3 | 溪云珂 2026-03-26 | 3/150 |
|
|
[考研] 求調(diào)劑 +6 | 林之夕 2026-03-24 | 6/300 |
|
|
[考研] 341求調(diào)劑 +7 | 青檸檬1 2026-03-26 | 7/350 |
|
|
[考研]
|
WWW西西弗斯 2026-03-24 | 8/400 |
|
|
[考研] 303求調(diào)劑 +6 | 藍(lán)山月 2026-03-25 | 6/300 |
|
|
[考研] 考研一志愿蘇州大學(xué)初始315(英一)求調(diào)劑 +3 | sbdksD 2026-03-24 | 4/200 |
|
|
[考研] 0854人工智能方向招收調(diào)劑 +4 | 章小魚567 2026-03-24 | 4/200 |
|