Тема: Treeview ini
Показать сообщение отдельно
  #3  
Старый 13.10.2009, 16:16
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,087
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

А не проще просто пройти по узлам и сохранить открытые.

Код:
var
  Ini : TIniFile;
...
  For I := 0 To tvTree.Items.Count-1 Do
    If tvTree.Items[i].Expanded Then
      Ini.WriteBool('Section',tvTree.Items[i].Text,True);
...

PS. Код писал по памяти - с деревьями давно не работал. Может там не Text, а Caption и не Items, а Nodes. но это не меняет принципа.

PPS. А вот восстанавливать состояние дерева интереснее. Надо прочитать список имен узлов в список строк, потом идти по этому списку, получать сохраненное значение, находить узел с нужным именем и раскрывать его.
Ответить с цитированием