| 6 | 1/1 | 返回列表 |
| 查看: 982 | 回復(fù): 5 | |||
[交流]
【求助】CListCtrl列表框中數(shù)據(jù)保存,讀取問題?(樓主取消)
|
|
基于對話框建立的工程,里面包含多個對話框。 在其中一個對話框上添加CListCtrl列表框,列表框有5列,內(nèi)容通過CEdit框輸入獲得; 添加多行數(shù)據(jù)后,要保存添加的這些數(shù)據(jù)(不是保存到硬盤上);以便后面使用這些數(shù)據(jù)。 在另一個對話框中添加下拉控件,里面的內(nèi)容是上面列表框中的第2列,相當(dāng)于動態(tài)添加的。 問:如何保存和讀取這樣的數(shù)據(jù)? 有一個想法:定義一個結(jié)構(gòu)體,把數(shù)據(jù)都存放在結(jié)構(gòu)體里面,下拉控件到這個結(jié)構(gòu)體里面找所需要的列數(shù)據(jù)。 不知道是否可以,主要是不會編程,希望給出具體代碼。 [ Last edited by ben_ladeng on 2011-3-25 at 14:14 ] |
» 搶金幣啦!回帖就可以得到:
+2/178
+5/125
+1/84
+1/83
+1/53
+2/48
+2/48
+1/35
+1/35
+1/34
+1/34
+1/32
+1/25
+1/15
+1/15
+1/14
+1/12
+1/11
+1/8
+1/6
|
我寫一下,幫我找找錯誤吧! 基于Dialog建立工程: 包括三個對話框:IDD_DIALOG_MAIN,IDD_DIALOG_PRODUCT,IDD_DIALOG_METHOD 它們分別對應(yīng)三個對話框類:CMainDlg,CProductDlg和CMethodDlg 在IDD_DIALOG_MAIN中添加兩個按鈕,分別調(diào)用另外兩個對話框; 在IDD_DIALOG_PRODUCT中添加5個CEdit Box,用于輸入數(shù)據(jù),添加Add按鈕,CListCtrl列表框用于顯示,再添加一個Save按鈕。 在IDD_DIALOG_METHOD中添加Combo Box,用于獲得列表中的某一列。 CEdit Box向CListCtrl列表框中添加數(shù)據(jù)已經(jīng)實現(xiàn),這里忽略。主要研究怎么保存CListCtrl列表框中的數(shù)據(jù),在其他對話框能繼續(xù)使用。 首先,在mainDlg.h中定義一個結(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();//表項總數(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對話框后,數(shù)據(jù)保存到結(jié)構(gòu)體中了嗎?編譯沒有問題,運行有問題。。 再到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列表框中第三列的值嗎??? |
|
這個...沒有插入代碼看的好眼暈... 大致看了一下,思路貌似沒錯。 只要保證productinfo是個全局變量就可以,這樣ProductDlg對productinfo修改后,其中的值會發(fā)生變化,ProductDlg關(guān)閉后,productinfo的值也不會銷毀,其他對話框依然可以調(diào)用。 至于為什么運行出問題,樓主可以單步跟蹤一下。 |
|
像我這樣在mainDlg.h中定義的productinfo屬于全局變量了?如下: mainDlg.h中定義一個結(jié)構(gòu)體如下: public: typedef struct PartDefinition { CString PartID; CString PartName; CString GivenName; CString AF; CString Type; }ProductInfo; ProductInfo *productinfo; 我有點糊涂,因為是根據(jù)對話框建立的工程,所以怎么樣判斷哪個是主對話框,這個productinfo一定要做主對話框中定義成全局變量嗎? |
| 6 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料 336 求調(diào)劑 +3 | An@. 2026-03-18 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 一志愿西南交大,求調(diào)劑 +5 | 材化逐夢人 2026-03-18 | 5/250 |
|
|
[考研] 323求調(diào)劑 +3 | 洼小桶 2026-03-18 | 3/150 |
|
|
[考研] 一志愿武漢理工材料工程專碩調(diào)劑 +9 | Doleres 2026-03-19 | 9/450 |
|
|
[考研] 中南大學(xué)化學(xué)學(xué)碩337求調(diào)劑 +3 | niko- 2026-03-19 | 6/300 |
|
|
[考研] 一志愿武理材料工程348求調(diào)劑 +3 |  ̄^ ̄゜汗 2026-03-19 | 4/200 |
|
|
[考研]
|
簡木ChuFront 2026-03-19 | 8/400 |
|
|
[考研] 一志愿吉林大學(xué)材料學(xué)碩321求調(diào)劑 +11 | Ymlll 2026-03-18 | 15/750 |
|
|
[考研] 328求調(diào)劑,英語六級551,有科研經(jīng)歷 +4 | 生物工程調(diào)劑 2026-03-16 | 12/600 |
|
|
[考研] 一志愿985,本科211,0817化學(xué)工程與技術(shù)319求調(diào)劑 +10 | Liwangman 2026-03-15 | 10/500 |
|
|
[考研] 0703化學(xué) 305求調(diào)劑 +4 | FY_yy 2026-03-14 | 4/200 |
|
|
[考研]
|
胡辣湯放糖 2026-03-15 | 6/300 |
|
|
[考研] 0703化學(xué)調(diào)劑 +3 | 妮妮ninicgb 2026-03-17 | 3/150 |
|
|
[考研] 0703化學(xué)336分求調(diào)劑 +6 | zbzihdhd 2026-03-15 | 7/350 |
|
|
[碩博家園] 湖北工業(yè)大學(xué) 生命科學(xué)與健康學(xué)院-課題組招收2026級食品/生物方向碩士 +3 | 1喜春8 2026-03-17 | 5/250 |
|
|
[考研] 材料專碩326求調(diào)劑 +6 | 墨煜姒莘 2026-03-15 | 7/350 |
|
|
[考研] 材料工程專碩274一志愿211求調(diào)劑 +6 | 薛云鵬 2026-03-15 | 6/300 |
|
|
[考研] 326求調(diào)劑 +4 | 諾貝爾化學(xué)獎覬?/a> 2026-03-15 | 7/350 |
|
|
[考研] 321求調(diào)劑 +5 | 大米飯! 2026-03-15 | 5/250 |
|
|
[考研] 中科院材料273求調(diào)劑 +4 | yzydy 2026-03-15 | 4/200 |
|