Ich habe die TreeView seit Jahren nicht mehr angefasst. Bisher war die ImageList nur dem Property
StateImages
zugewiesen und von Delphi 7 bis XE10 hatte es so auch funktioniert.
Das Property
ImageList
gibt es nicht. Ich habe
vrdbtProjNr.Images = ImageList
gesetzt, dann funktioniert es. Allerdings zeigt es dann bei allen nicht selektierten Einträgen zwei LED an.
Ich habe testweise die Zuweisung nur bei
Images
gemacht und bei
StateImages
gelöscht. Dann kommt die Fehlermeldung wieder.
Nach etwas rum probieren, die Hilfe ist zu StateImages recht dürftig, bin ich auf folgendes Setting gekommen das wieder einwandfrei läuft:
Delphi-Quellcode:
Images nicht zuweisen
StateImages = ImageList1;
procedure Tfo1ProjNr.vrdbtProjNrGetImageIndex(Sender: TBaseVirtualTree;
Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex;
var Ghosted: Boolean; var ImageIndex: TImageIndex);
var
Data: PTreeData;
begin
Data := Sender.GetNodeData(Node);
if (Kind = ikState) then begin // Verhindert die Meldung "An Image Index was supplied for TTVImagekind.ikSelected but no image list was supplied"
// Ad hier Images zuweisen
end;
end;