[問題] 請問MFC的listbox與editbox顯示大量data問題

看板C_and_CPP (C/C++)作者 (再努力一點)時間13年前 (2013/03/13 00:12), 編輯推噓2(202)
留言4則, 3人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ MFC 問題(Question): 目前的任務是讀取一個純文字檔,以任意方是顯示在Dialog上, 我試了兩個: 用string暫存列data 1. 用list box: 遇到換符號或是eof,依序用addstring加入一列一列的data 2. 用edit box: 用SetWindowText直接將字串顯示在edit box中 當資料量不大的時候如此使用沒有問題。 問題:(資料量大(文件內容很大)) 1. 用list box的時候,因為筆數太多(太多行), 不斷addstring後,會突然有後面的data被插到前面的list中, 不知道是什麼問題... 2. 用edit box的時候,因為檔案實在太大,不確定是否為string發生了問題, string我是用char一個一個慢慢黏起來的, 在SetWindowText後,edit box一片空白,什麼也顯示不出來。 餵入的資料(Input): 20000筆(每筆14欄位的)左右的資料庫資料文字檔 預期的正確結果(Expected Output): dialog上顯示的文字檔內容和文字檔中的一樣,任一方式都可。 我想了兩種,list box或edit box所顯示的data該和文字檔中的一樣。 錯誤結果(Wrong Output): list box顯示行順序與文件不同 edit box沒有顯示東西 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.192.114

03/13 00:14, , 1F
身邊沒有程式碼,我明天補...orz
03/13 00:14, 1F
※ 編輯: prjryu 來自: 111.251.192.114 (03/13 00:20)

03/13 11:32, , 2F
1. 看看listbox是不是有設到sort style
03/13 11:32, 2F

03/13 11:33, , 3F
2. 用rich edit box
03/13 11:33, 3F
後來發現另一種方法,用表格的方式顯示就沒問題了, 物件名稱是是"List Control" 用.SetColumn可以設定屬性欄, 用.InsertItem可以增加列的第一筆data, 用.SetItemText可以設定列data, 如果要從表格取出資料的話,只要用GetItemText就可以了, 用起來非常方便,不會有資料太大而顯示出錯的問題。 謝謝大家的幫助,也希望這篇文章有機會幫助到遇到類似問題的版友們。 ※ 編輯: prjryu 來自: 111.251.219.239 (03/14 00:24)

03/14 09:48, , 4F
推一個
03/14 09:48, 4F
文章代碼(AID): #1HFrG9Lu (C_and_CPP)
文章代碼(AID): #1HFrG9Lu (C_and_CPP)