Obrazki w TreeView

0

Cześć.
Piszę program do pracy magisterskiej.
Miedzy innymi muszę stworzyć drzewko z danymi(TreeeView), które współpracuje z listą(Raport - listView). Mam problem z komponentem TreeView. Mianowicie.
Tworzę na drzewku pierwszy element(root) :

TreeView.Items.Add (nil, 'Projekt');

Tworzę element podrzędny:

TreeView.Items.AddChild (TreeView.Items[0], ' Parametry technologiczne)');

Później tworzę tym samym sposobem następnego potomka roota wraz z kilkoma childami. Uzyskuje dla przykładu taką strukturę:
--Projekt
|-- Parametry technologiczne
|--Jakis element
|--podlement1
|--podelement2
|--Kolejny element
|--podelement1
|--podelement2
itd..
I moje pytanie. Jak zrobić by każdemu elementowi na drzewku można było przypisać inny obrazek(pobierany z ImageList). Np. żeby przy roocie(Projekt) wyświetlało się np.: słoneczko, a przy jego podelemencie(parametry technologiczne),np: księżyc, i powiedzmy podelement 2 mial za ikonke np.: samochód, itd... Udało mi się zrobić tak(2 pierwsze elemnety), ale po kliknięciu w dowolny element na drzewku wszystkie ikonki stajo sie ikonko pierwszo z ImageList.
Prosze mi napisać jak ten problem rozwiązać. Bym z poziomu kodu mógł w dowolnym momencie dowolnemu elementowi drzewka mógł przypisać określoną ikonkę.
Pozdr
Pepe

0

treeview1.items[0].imageindex:=4; //4 obrazek w liscie imagelist1

0

treeview1.items[0].imageindex:=4; //4 obrazek w liscie imagelist1

To niestety nie pomaga. Ponieważ dodając za ikonę roota np. obrazek 4, to po kliknieciu w puste pole na komponencie treeview ikona ta zminia sie na ikone 1(z Imagelist).
Dopiero po dodaniu kolejnych kluczy klikniecie na dowolny z nich przywraca ikone 4. Ale ponowne klikniecie na ikone roota wrzuca zas ikone 1!...
Co to sie dzieje?
Pozdr

0

Item.ImageIndex
Item.SelectedIndex
Item.StateIndex

0

Możesz użyć trybu OwnerDraw, jest w artykułach przykład dla TListBox, ale zmodyfikowanie go nie powinno być trudne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1