Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.05.2010, 13:18   #1
woofer
Новичок
Джуниор
 
Регистрация: 17.05.2010
Сообщений: 2
По умолчанию Обновление VirtualStringTree по таймеру

Использую компонент VirtualStringTree и есть иерархическая струтура которая обновляется по таймеру. Как сделать чтобы после обновления раскрытые ветки оставались открытыми. Заранее спасибо.
woofer вне форума Ответить с цитированием
Старый 22.05.2010, 02:55   #2
woofer
Новичок
Джуниор
 
Регистрация: 17.05.2010
Сообщений: 2
По умолчанию

Код:
private
    FList: TList;
procedure TForm1.FillExpandedNode;
var
  p,t: PNodeData;
  V: PVirtualNode;
begin
  FList.Clear;
  V := VirtualStringTree1.GetFirst;
  while V <> nil do
  begin
    if (V.ChildCount > 0) and (VirtualStringTree1.Expanded[V]) then
    begin
        New(t);
      p := VirtualStringTree1.GetNodeData(V);
      t^.ID := p^.ID;
      FList.Add(t);
    end;
    V := VirtualStringTree1.GetNext(V);
  end;
end;

procedure TForm1.ExpandSaveNodes;
var
  p,t: PNodeData;
  V: PVirtualNode;
  i: integer;
begin
  V := VirtualStringTree1.GetFirst;
  while V <> nil do
  begin
    if (V.ChildCount > 0) and not (VirtualStringTree1.Expanded[V]) then
    begin
      p := VirtualStringTree1.GetNodeData(V);
      for i := 0 to Flist.Count-1 do
      begin
        t:= PNodeData(FList[i]);
        if p^.ID=t.ID then
        begin
          VirtualStringTree1.Expanded[V] := true;
          break;
        end;
      end;
    end;
    V := VirtualStringTree1.GetNext(V);
  end;
end;
Вот рабочий код
woofer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VirtualStringTree чужого окна akaTemporary Общие вопросы Delphi 0 29.01.2010 14:32
VirtualStringTree и редактирование текста ячейки Шульц Общие вопросы Delphi 7 10.11.2009 19:30
Срабатывание датчика по таймеру RockForr Общие вопросы Delphi 8 26.05.2009 16:32
Автосохранения по таймеру ScreN Общие вопросы Delphi 13 09.01.2009 18:49
Как обновить иконки у VirtualStringTree AnalogXP Общие вопросы Delphi 4 31.03.2008 11:31