Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Delphi [TTreeView] Problem Bilderindex & TImageList (https://www.delphipraxis.net/82073-%5Bttreeview%5D-problem-bilderindex-timagelist.html)

xZise 7. Dez 2006 17:44


[TTreeView] Problem Bilderindex & TImageList
 
Wie kann ich ein Bild anzeigen wenn der Index (in der TImageList) = 0 ist?
(Anscheinend ist das Problem viel größer)

Und zwar zeigt er die falschen Bilder an.
z.B. Der ImageIndex ist 1: Dann zeigt er Bild 0 ( = nichts) an....

[edit]Daten im Treeview sind korrekt gespeichert, nur bekomme ich einen Fehler, wenn ich versuche das Bild aus der TImageList zu laden. (AV)[/edit]

3_of_8 7. Dez 2006 18:07

Re: [TTreeView] Bilderindex = 0
 
ImageIndex beim Knoten auf 0 setzen.

xZise 7. Dez 2006 18:14

Re: [TTreeView] Bilderindex = 0
 
Kann es sein, dass da irgendwas durcheinander gerät?
z.B. Ich sage: "ImageIndex = Statindex + 1"
Es gibt StateIndex ist 8. Jetzt nimmt er aber nicht das neunte Image sondern das 8!

(Und auch in anderen Fällen ist das Verhalten seltsam...) Aber manschnaml funzt es ... Ich gucks mir nochmal an.

3_of_8 7. Dez 2006 18:16

Re: [TTreeView] Bilderindex = 0
 
Also ImageLists sind nullbasiert. Das heißt, bei 0 ist das erste Bild, -1 bedeutet kein Bild. Warum das Ding dir falsche Bilder anzeigt, ist schwer nachzuvollziehen.

xZise 7. Dez 2006 19:17

Re: [TTreeView] Bilderindex = 0
 
Kann es sein, das StateIndex und ImageIndex irgendwie zusammenhängen?

Ansonsten gehe ich meinen Code nochmal durch, ob ich vielleicht irgendwo ein zweites Mal da was ändere.

[edit]Ich habe alles durchgesguckt, es wird nirgends (außer dort wo es sein soll) auf State/ImageIndex geschrieben! Und selbst wenn ich diesen Code auskommentiere, erscheinen die falschen Bilder.[/edit]

Meniskusschaden 7. Dez 2006 20:37

Re: [TTreeView] Bilderindex = 0
 
Zitat:

Zitat von xZise
Kann es sein, das StateIndex und ImageIndex irgendwie zusammenhängen?

Bei Dir hängen sie natürlich schon zusammen denn Du setzt ImageIndex ja in Abhängigkeit von StateIndex :wink: , ansonsten ist mir kein Zusammenhang bekannt und bei mir zeigen sich auch keine Auffälligkeiten, wenn ich ImageIndex := StateIndex+1 setze.
Vielleicht zeigst Du mal etwas Code, damit es hier nicht zu spekulativ wird.

xZise 7. Dez 2006 21:22

Re: [TTreeView] Problem Bilderindex & TImageList
 
Also Code muss ich nicht Zeigen, weil es nicht am Code liegen kann.
Einzig und alein dass:
Delphi-Quellcode:
  for i := 0 to tvItems.Items.Count - 1 do begin
    if tvItems.Items[i].StateIndex > -1 then
      tvItems.Items[i].ImageIndex := tvItems.Items[i].StateIndex;
  end;
Aber ich vermute es lag an der TImageList, weil ich es inzwischen wiederzurückgeändert habe. (State = Image)

3_of_8 7. Dez 2006 21:25

Re: [TTreeView] Problem Bilderindex & TImageList
 
Lass dir die Werte mal vom Evaluator ausgeben.

xZise 7. Dez 2006 21:44

Re: [TTreeView] Problem Bilderindex & TImageList
 
Evawas?

Meniskusschaden 7. Dez 2006 21:45

Re: [TTreeView] Problem Bilderindex & TImageList
 
Zitat:

Zitat von xZise
Also Code muss ich nicht Zeigen, weil es nicht am Code liegen kann.
Einzig und alein dass:
Delphi-Quellcode:
  for i := 0 to tvItems.Items.Count - 1 do begin
    if tvItems.Items[i].StateIndex > -1 then
      tvItems.Items[i].ImageIndex := tvItems.Items[i].StateIndex;
  end;
Aber ich vermute es lag an der TImageList, weil ich es inzwischen wiederzurückgeändert habe. (State = Image)

Wenn tvItems.StateImages mehr Bilder enthält als tvItems.Images kann es Probleme geben (sofern Du verschiedene ImageLists verwendest). In der Variante mit ImageIndex := StateIndex+1 kann der ImageIndex natürlich auch bei gleich vielen Elementen bzw. derselben ImageList überlaufen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr.
Seite 1 von 2  1 2      

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