Terence 发表于 2012-10-7 14:14:22

lListView 瞬间清空不卡顿谁有办法?

用_GUICtrlListView_DeleteAllItems的话很慢而且还卡卡的.

谁有好办法瞬间清空LISTVIEW里所谓内容的方法?

netegg 发表于 2012-10-7 14:37:38

本帖最后由 netegg 于 2012-10-7 14:56 编辑

#Include <GuiListView.au3>
for $iCol = 1 to_GUICtrlListView_GetColumnCount($hwnd)
$col = _GUICtrlListView_GetColumn($hWnd, $iCol)
_GUICtrlListView_DeleteColumn($hWnd, $iCol)
_GUICtrlListView_InsertColumn($hWnd, $iCol, $col)
next
没测试,不知道首列是否可处理,如果不对,试试改变$iCol是否是$iCol-1可处理,还有就是插入一个虚拟0列

Terence 发表于 2012-10-7 14:47:50

回复 2# netegg

失败..

我是这样同时下载了20个文件,有一列是显示检测下载速度并写如表里要时时更新。

但是如果任务多了就一晃一晃的,根本看不清东西。

qinylj 发表于 2012-10-7 14:48:46

好像都会等待吧,我也没看见过直接一下清空的

netegg 发表于 2012-10-7 14:57:46

本帖最后由 netegg 于 2012-10-7 15:10 编辑

回复 3# Azura

如果只是为了这么目的的,用doublebuffer样式试试看
另外这段试试吧,为了清空用的,不是为了你那个更新用的
#Include <GuiListView.au3>
_GUICtrlListView_InsertColumn($hWnd, 0, 0)
_GUICtrlListView_setColumnwidth($hWnd, 0, 0)
for $iCol = 1 to_GUICtrlListView_GetColumnCount($hwnd)
$col = _GUICtrlListView_GetColumn($hWnd, $iCol)
_GUICtrlListView_DeleteColumn($hWnd, $iCol)
_GUICtrlListView_InsertColumn($hWnd, $iCol, $col)
next

Terence 发表于 2012-10-7 15:13:03

回复 5# netegg


    不行,我每秒刷新一次列表。还是晃的厉害。so..我暂时弄成5秒一刷新。

   难受ing.

netegg 发表于 2012-10-7 15:20:40

回复 6# Azura
那就把所有的单元格改成内嵌的编辑框

Terence 发表于 2012-10-7 18:00:23

回复 7# netegg


    我不会 {:face (245):}

netegg 发表于 2012-10-7 18:27:47

回复 8# Azura
论坛里有

kk_lee69 发表于 2012-10-8 09:41:15

回复 1# Azura
要不要試看看虛擬 LISTVIEW 的應用..............

千萬筆數據都可以不卡頓當然清空也可以不卡頓

用那個方法 肯定可以解決......只是不知道您是不是合適.....

Terence 发表于 2012-10-8 17:55:56

回复 10# kk_lee69


    他那个我完全看不明白

kk_lee69 发表于 2012-10-8 18:00:35

回复 11# Azura
仔細研究   其實只是應用很簡單的........
基本觀念就是 把 LISTVIEW 設定好...

然後把所有的資料都是放到陣列裡面

然後 把陣列 指向給LISTVIEW就好啦

刪除 就是 把指向改掉不用0.幾秒就可以刪除

Terence 发表于 2012-10-8 21:10:20

回复 12# kk_lee69


    还是不明白 {:face (456):}
页: [1]
查看完整版本: lListView 瞬间清空不卡顿谁有办法?