Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Codehunter,
21. Mär 2018
Ich habe jetzt die Quick&Dirty-Lösung ausprobiert und in der separaten Operlay-ImageList zu Beginn 15 leere Icons eingefügt. Klappt wunderbar. Da muss man aber auch erst mal drauf kommen. Wenn man nach dem Kommentar in der Virtualtrees.pas geht hat man die Unterscheidung ja deshalb gemacht, weil bei Indizes < 16 ein systeminternes Zeichnen verwendet wird das angeblich schneller wäre. Ich frage...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Codehunter,
20. Mär 2018
Wenn man das so betrachtet, dann ist es wohl doch ein Bug "durch Unterlassen" im VST. Ich sehe zumindest keine Prüfung darauf hin, ob die Bilder in der selben oder unterschiedlichen ImageLists liegen. Sollte ich raten dann würde ich vermuten, OnGetImageIndexEx wurde nachträglich "drangeflanscht" und dieser Index-15-Fallstrick dabei vergessen.
Ist das eigentlich der selbe Fallstrick, weshalb...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Codehunter,
20. Mär 2018
Das gerade nicht, weshalb mir die Implementierung mit OnGetImageIndexEx sehr gut gefällt. Man ist nicht gezwungen, wild zusammengewürfelte Endlos-Imagelisten zu bauen.
Ich war praktisch zeitgleich mit deinem Post auch an genau der Sache dran. Der entsprechende Hinweis findet sich als Kommentar in der Virtualtrees.pas: // If the user returned an index >= 15 then we cannot use the built-in...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Codehunter,
20. Mär 2018
Danke aber leider ist der VirtualTreeView nicht mit dem Listview verwandt. Die sind nicht mal ähnlich. Der VTV bzw. VST ist sehr komplex. Manchmal spielen da kleine Änderungen an den TreeOptions rein, das Theming, Events die bestimmte Parameter gesetzt haben wollen, tausend Möglichkeiten. Das sich OnGetImageIndex und OnGetImageIndexEx unterschiedlich verhalten, das Problem hatte ich auch noch...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Codehunter,
20. Mär 2018
Hallo!
Ich ärgere mich schon eine ganze Weile mit dem VST herum. Ich möchte ein Overlay-Image über das Node-Symbol legen. Die normalen Images und die Overlays liegen in verschiedenen ImageLists, daher verwende ich OnGetImageIndexEx:procedure TForm1.tvGridGetImageIndexEx(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
var Ghosted: Boolean; var...