Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Ungewollter Image-Wechsel bei TTreeView (https://www.delphipraxis.net/157043-ungewollter-image-wechsel-bei-ttreeview.html)

Mysterio08 26. Dez 2010 16:44

Ungewollter Image-Wechsel bei TTreeView
 
N'Abend,

ich habe eine TJvTreeView-Komponente auf meiner Form, die dynamisch versorgt wird - einschließlich Bildern. Dafür nehme ich TJvImageList. Soweit werden die Bilder den verschiedenen Ebenen auch richtig zugeordnet, doch wenn man auf einen Eintrag klickt, nimmt dieser immer die Grafik des Root-Elements an.
Wieso und was kann ich dagegen machen?

mfg.

himitsu 26. Dez 2010 16:56

AW: Ungewollter Image-Wechsel bei TTreeView
 
Es gibt nicht nur eine Szelle, wo das Bild festgelegt wird.
So gibt es neben .ImageIndex auch .ExpandedImageIndex und über einige Ereignismethoden kann man das Bild festlegen ... tja, also irgendwo ibst du ein anderes Bild an, sobald etwas angeklickt wird.

Mysterio08 26. Dez 2010 17:01

AW: Ungewollter Image-Wechsel bei TTreeView
 
Also, wenn ich kein Bild angebe, werden alle Items automatisch mit dem ersten Bildchen aus TJvImageList versehen. Weil ich nur zwei Ebenen habe, brauche ich mich auch nur im diese zu kümmern, was ich mit dieser Zeile mache:

Delphi-Quellcode:
TreeView.Items.AddChild(TreeView.Selected, Value).ImageIndex := 1;
Es gibt keine andere Stelle, an der ich die Pictures ändere!

Mysterio08 26. Dez 2010 17:39

AW: Ungewollter Image-Wechsel bei TTreeView
 
Es hat ein wenig gedauert, bis ich die andere Seite deines Beitrags bemerkt habe, himitsu: Ich habe noch folgende Zeile eingefügt, um beispielsweise für alle Unterelemente des ersten Nodes die gewünschte Grafik zu behalten, jedoch ohne Erfolg:

Delphi-Quellcode:
TreeView.Items[0].ExpandedImageIndex := 1;

Mysterio08 27. Dez 2010 08:51

AW: Ungewollter Image-Wechsel bei TTreeView
 
Es war die Eigenschaft "SelectedIndex", welche ich setzen musste.
Jetzt funktioniert es.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:09 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz