1
我有一個文件下載器,所以列表視圖中包含這樣的列:文件名,速度,文件大小,下載大小,剩餘/經過時間,已完成百分比(進度條) - >我需要繪製圖標,文本,背景,進度條等。什麼是存儲所有數據以在列表視圖中繪製的有效方法?Delphi:用於在列表視圖中繪圖的數據存儲器
例如,我畫了一個文本「錯誤」,然後背景必須是紅色的。我可以檢查一個錯誤並用if SameText(Item.SubItems[5], 'error') then
這樣的東西繪製,但是我不知道用這種方法繪製所有項目是否快,將所有數據存儲在列表視圖中?
所以我應該創建我自己的類(基於TList)併爲每個項目創建一個類對象,然後將該對象分配給Data屬性?我只能使用列表視圖來處理我的目標。但我不知道它是否有效...... – maxfax
@maxfax TList是您的數據對象的容器(您可能已經有了)。您真正需要的是描述項目狀態的數據對象。不,你不能僅僅使用listview來處理你的目標。儘管你現在可以製作一個技巧並保持一個listview,但這是一個破碎的設計,將來你會發現它。 –
@daemon_x即使在非虛擬所有者繪製模式下,代碼也應該知道從何處獲取數據,並且數據對象是源代碼。 –