Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.31;
Скачать: CL | DM;

Вниз

Как восстановить развертку TTreeView?   Найти похожие ветки 

 
@!!ex ©   (2009-04-18 08:10) [0]

Есть TTreeView.
Его структура примерно одинаковыя, но периодически приходится его перестраивать. Меняются только самые дальние ветки, у которых уже ответвлений нету.
Обычно дерево частично раскрыто, но когда оно обновляется, то все закрывается. Можно ли как-то восстановить его состояние?
Чтобы после обновления были открыты теже ветки что и до этого?


 
MonoLife ©   (2009-04-18 09:26) [1]

А как оно обновляется? И почему оно обновляется целиком?


 
@!!ex ©   (2009-04-18 09:33) [2]

Очищается и полностью строится заново.


 
@!!ex ©   (2009-04-18 10:01) [3]

В итоге сделал вот так:

var
 Expanded:array of string;
begin
 for i := 0 to ObjectsTreeView.Items.Count - 1 do
   if ObjectsTreeView.Items[i].Expanded then begin
     SetLength(Expanded,Length(Expanded)+1);
     Expanded[Length(Expanded)-1]:=ObjectsTreeView.Items[i].Text;
   end;

 //обновление списка

 for i := 0 to ObjectsTreeView.Items.Count - 1 do
   for j := 0 to Length(Expanded) - 1 do
     if ObjectsTreeView.Items[i].Text=Expanded[j] then
       ObjectsTreeView.Items[i].Expand(false);
end;



Страницы: 1 вся ветка

Текущий архив: 2009.05.31;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
4-1210438911
Тимохов
2008-05-10 21:01
2009.05.31
Как правильно отрисовать в WM_PAINT?


2-1239791422
FS
2009-04-15 14:30
2009.05.31
Оптимизация


3-1221628427
Drowsy
2008-09-17 09:13
2009.05.31
Invalid class typecast.


6-1203404629
stupido
2008-02-19 10:03
2009.05.31
Apache shared module


2-1239283727
Franzy
2009-04-09 17:28
2009.05.31
null-terminated strings