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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Удаление элементов TreeView

Ответить
Настройки темы
[решено] Удаление элементов TreeView

Аватара для gregaz

Пользователь


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

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


Создание 1000 элементов в TreeView с помощью _GUICtrlTreeView_Add
занимает порядка 2-х сек
Очистка же дерева с помощью _GUICtrlTreeView_DeleteAll
занимает порядка 15 сек

Как быстро обновить дерево ?

Отправлено: 16:36, 01-02-2009

 

Ветеран


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

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


Сейчас скажут, что я предлагаю злостный оффтопик, но AutoIt - скриптовая платформа для автоматизации несложных задач, а не универсальный язык для построения GUI-приложений с тысячами элементов интерфейса. Начинайте потихоньку осваивать, например, C#

Отправлено: 17:05, 01-02-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для 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


Аватара для gregaz

Пользователь


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

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


Creat0R, Спасибо
Даже не подумал обьявить обновление при удалении.
И в справке вроде бы молчок
Теперь все ОК

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


Аватара для gregaz

Пользователь


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

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


Цитата Busla:
Сейчас скажут, что я предлагаю злостный оффтопик, но AutoIt - скриптовая платформа для автоматизации несложных задач, а не универсальный язык для построения GUI-приложений с тысячами элементов интерфейса. »
Не согласен
AutoIt вначале создавался для автоматизации несложных задач.
Теперь же он способен решать достаточно серьезные задачи и поэтому его популярность растет.

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



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Удаление элементов TreeView

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
C/C++ - Проблемы с TreeView crashtuak Программирование и базы данных 5 08-01-2010 10:08
[решено] TreeView с чекбоксами crashtuak AutoIt 1 28-07-2009 11:08
Win32 API | Граббинг контента чужого TreeView Scorpion666 Программирование и базы данных 1 26-01-2006 11:03
Запись/чтение в/из файла по строчно + удаление элементов... Georgiy Вебмастеру 5 18-07-2004 14:40




 
Переход