Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата gregaz:
Как быстро обновить дерево ? »
Нужно "сообщить" элементу что выполняется обновление:

Код: Выделить весь код
#include <GuiConstantsEx.au3>
#include <GuiTreeView.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>
;

GUICreate("TreeView Delete All", 400, 300)
GUISetState()

$hTreeView = GUICtrlCreateTreeView(10, 5, 380, 250, _
    BitOR($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS), $WS_EX_CLIENTEDGE)

$hImage = _GUIImageList_Create(16, 16, 5, 3)
_GUIImageList_AddIcon($hImage, "shell32.dll", 110)
_GUIImageList_AddIcon($hImage, "shell32.dll", 131)
_GUIImageList_AddIcon($hImage, "shell32.dll", 165)
_GUIImageList_AddIcon($hImage, "shell32.dll", 168)
_GUIImageList_AddIcon($hImage, "shell32.dll", 137)
_GUIImageList_AddIcon($hImage, "shell32.dll", 146)
_GUICtrlTreeView_SetNormalImageList($hTreeView, $hImage)

$iTimer = TimerInit()

_GUICtrlTreeView_BeginUpdate($hTreeView)

For $x = 1 To 1000
    $iImage = Random(0, 5, 1)
    $hItem = _GUICtrlTreeView_Add($hTreeView, 0, StringFormat("[%02d] New Item", $x), $iImage, $iImage)
Next

_GUICtrlTreeView_EndUpdate($hTreeView)

MsgBox(4160, "Information", "Create (1000 items) duration: " & Round(TimerDiff($iTimer)/1000, 1) & " sec.")

$DeleteAll_Button = GUICtrlCreateButton("Delete All", 20, 270, 70, 20)

While 1
    Switch GUIGetMsg()
        Case $GUI_EVENT_CLOSE
            Exit
        Case $DeleteAll_Button
            $iTimer = TimerInit()

            _GUICtrlTreeView_BeginUpdate($hTreeView)
            _GUICtrlTreeView_DeleteAll($hTreeView)
            _GUICtrlTreeView_EndUpdate($hTreeView)

            MsgBox(4160, "Information", "Delete All (1000 items) duration: " & Round(TimerDiff($iTimer)/1000, 1) & " sec.")
    EndSwitch
WEnd
Цитата Busla:
AutoIt - скриптовая платформа для автоматизации несложных задач, а не универсальный язык для построения GUI-приложений с тысячами элементов интерфейса »
Может и не универсальный, но вполне пригоден для этой задачи. А по-поводу автоматизации несложных задач... это ещё очень даже спорно, ни один скриптовый язык не собирает в себе те возможности что есть у AutoIt'а, на нём всё же можно решать довольно сложные задачи.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:03, 01-02-2009 | #3