| 5 | 1/1 | 返回列表 |
| 查看: 993 | 回復(fù): 5 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
[交流]
【求助】CListCtrl列表框中數(shù)據(jù)保存,讀取問題?(樓主取消)
|
|||
|
基于對話框建立的工程,里面包含多個對話框。 在其中一個對話框上添加CListCtrl列表框,列表框有5列,內(nèi)容通過CEdit框輸入獲得; 添加多行數(shù)據(jù)后,要保存添加的這些數(shù)據(jù)(不是保存到硬盤上);以便后面使用這些數(shù)據(jù)。 在另一個對話框中添加下拉控件,里面的內(nèi)容是上面列表框中的第2列,相當于動態(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 ] |
» 搶金幣啦!回帖就可以得到:
+1/282
+1/94
+1/90
+1/63
+1/41
+1/40
+1/35
+1/20
+2/16
+1/15
+1/11
+1/7
+1/7
+1/7
+1/7
+1/5
+1/4
+1/3
+1/1
+1/1
|
這個...沒有插入代碼看的好眼暈... 大致看了一下,思路貌似沒錯。 只要保證productinfo是個全局變量就可以,這樣ProductDlg對productinfo修改后,其中的值會發(fā)生變化,ProductDlg關(guān)閉后,productinfo的值也不會銷毀,其他對話框依然可以調(diào)用。 至于為什么運行出問題,樓主可以單步跟蹤一下。 |
|
我寫一下,幫我找找錯誤吧! 基于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列表框中第三列的值嗎??? |
|
像我這樣在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一定要做主對話框中定義成全局變量嗎? |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 材料專碩 085600求調(diào)劑 +3 | BBQ233 2026-03-30 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 南京大學(xué)化學(xué)調(diào)劑 +10 | 景隨風(fēng) 2026-03-29 | 15/750 |
|
|
[考研] 一志愿中南大學(xué)化學(xué)0703總分337求調(diào)劑 +6 | niko- 2026-03-27 | 6/300 |
|
|
[考研] 295求調(diào)劑 +5 | wei-5 2026-03-26 | 5/250 |
|
|
[考研] 291求調(diào)劑 +5 | Y-cap 2026-03-29 | 6/300 |
|
|
[考研] 298求調(diào)劑 +3 | 種圣賜 2026-03-29 | 3/150 |
|
|
[考研] 材料學(xué)碩333求調(diào)劑 +11 | 北道巷 2026-03-24 | 11/550 |
|
|
[考研] 321求調(diào)劑 +7 | 璞玉~~ 2026-03-25 | 8/400 |
|
|
[考研] 一志愿華北電力大學(xué)能動專碩,293,求調(diào)劑 +3 | 15537177284 2026-03-23 | 5/250 |
|
|
[考研] 085701環(huán)境工程,267求調(diào)劑 +16 | minht 2026-03-26 | 16/800 |
|
|
[考研] 086502化學(xué)工程342求調(diào)劑 +6 | 阿姨復(fù)古不過 2026-03-27 | 6/300 |
|
|
[考研] 266求調(diào)劑 +11 | 陽陽哇塞 2026-03-27 | 12/600 |
|
|
[考研] 一志愿南師大0703化學(xué) 275求調(diào)劑 +4 | Ripcord上岸 2026-03-27 | 4/200 |
|
|
[考研] 333求調(diào)劑 +3 | question挽風(fēng) 2026-03-23 | 3/150 |
|
|
[考研] 314求調(diào)劑 +3 | 溪云珂 2026-03-26 | 3/150 |
|
|
[考研] 0703化學(xué)一志愿南京師范大學(xué)303求調(diào)劑 +3 | zzffylgg 2026-03-24 | 3/150 |
|
|
[考研] 336材料求調(diào)劑 +7 | 陳瀅瑩 2026-03-26 | 9/450 |
|
|
[考研] 0854AI CV方向招收調(diào)劑 +4 | 章小魚567 2026-03-23 | 4/200 |
|
|
[考研] 求調(diào)劑 +3 | 李李不服輸 2026-03-25 | 3/150 |
|
|
[考研] 269求調(diào)劑 +4 | 我想讀研11 2026-03-23 | 4/200 |
|