Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TreeView1 [D6, WinXP]


Ag2002 ©   (2002-09-12 11:44:00) 

Подскажите как правельно устанавливать картинки в узлы TreeView, у меня: в ImageList 4 картинки, а TreeView узлов может быть не больше 4 уровня вложенности, каждый уроень создатся по ходу выполнения программы пользователем т.е. одного уровня спокойно может не быть !!! а мне надо что-бы на каждый уровень устанавливалась картинка, пробывал так:

....
TreeView1.Items.AddChild(TreeView1.Selected,new_n);
TreeView1.Selected.StateIndex := 1;
TreeView1.Selected.ImageIndex := 1;
...

но у меня получается по две картинки на узле к томуже они ещё и миняются, а при перезагрузке программы все иконки становятся одинаковыми, я просто сохраняю созданное дерево в файл и читаю при запуске !!!, Помогите как это правельно делать, для каждого уровня своя картинка !!!


Ag2002   (2002-09-13 15:02:00) [1]

А после перезагрузки проги все созданные узлы становятся с картинкой верхнего !!!


Ag2002   (2002-09-13 14:58:00) [2]

Так получается что картинка та которая нужна появляется только тогда когда мы выбераем определённый узел, а когда она не выбранна то светится катинка самого верхнего ? Как это исправить ?


still   (2002-09-12 11:52:00) [3]

var
tn: TTreeNode;

...

tn := TreeView1.Items.AddChild(TreeView1.Selected,new_n);
tn.ImageIndex := tn.Level;

Конечно, в ImageList у тебя картинки должны быть упорядочены по уровням.
А если устанавливать ImageIndex и StateIndex одновременно, то естественно будет две картинки на узел.
Эти два свойства используются отдельно. Одно - для индикации типа элемента, другое - для состояния конкретного элемента.


Наверх

Титульная страница Поиск, карта сайта Написать письмо