用delphi7寫個任務管理器,每次自動重繪只能清空串列然后在加載行程,這樣重繪就沒辦法選定行程
怎樣像系統任務管理器那樣安靜的更新資料
uj5u.com熱心網友回復:
添加完行程,只更新添加項的資料就可以了,不用清空串列。
ListView1.Items[i].Caption:='第i行Caption';
ListView1.Items[i].SubItems.Strings[j]:='第i行第j子列';
uj5u.com熱心網友回復:
索引從0開始,行列序數應該加1:
ListView1.Items[i].Caption:='第i+1行Caption';
ListView1.Items[i].SubItems.Strings[j]:='第i+1行第j+1子列';
uj5u.com熱心網友回復:
listview清了重寫,省力,uj5u.com熱心網友回復:
把所有的搜索到的活動行程都加載到ListView,行程結束Listview狀態欄顯示已停止,行程啟動ListView 狀態欄顯示正在運行,新增行程添加到Listview最后一行!uj5u.com熱心網友回復:
建立一個執行緒串列, 分四步進行重繪資料:第一步,遍歷執行緒串列,找到退出(結束的執行緒),將其洗掉。
每二步,將新的執行緒加入到執行緒串列中。
每三步,將執行緒串列,進行排序。
第四步,將執行緒串列,0至n-1回圈,對應Listview,當出現二者不對應時,洗掉Listview后面的專案,再將“執行緒串列”專案,加入Listview中。
第四步 很重要,讓Listview變化最小。出現變化的執行緒之前的專案基本不變。
uj5u.com熱心網友回復:
這個思路很好,我試試
uj5u.com熱心網友回復:
還有其他的思路嗎uj5u.com熱心網友回復:
每個行程在退出前都有一個唯一的id號,Listview子項有個IndexOf方法可以定位行索引(用回圈實作的)。串列完成后每次直接更新各子項資料即可。添加洗掉插入資料都很容易。每次清空也可以,但會有閃爍,選擇只需要把根據id把上次選中行的selected設為True。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/55069.html
標籤:語言基礎/算法/系統設計
