ok das werde mir mal angucken. ich habe es bereits etwas umgestellt:
Delphi-Quellcode:
procedure TForm1.VSTGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind;
Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: integer);
var
Data: PTreeData;
Icon: TIcon;
begin
Data := VST.GetNodeData(Node);
if (not Data.bUpdated) and (Column = 0) then
begin
Icon := TIcon.Create;
ZeroMemory(@aFileIcon, SizeOf(aFileIcon));
SHGetFileInfo(PChar(Data.sFileName), 0, aFileIcon, SizeOf(aFileIcon), SHGFI_SYSICONINDEX or SHGFI_ICON);
Icon.Handle := aFileIcon.hIcon;
ImageIndex := ImageList1.AddIcon(Icon);
Data.bUpdated := True;
Icon.Free;
end;
end;
mit diesem gut war alles in ordnung. aber, ich weiß nicht seit wann, seit geraumer zeit sind die icons nicht mehr sichtbar. sie blitzen nur auf wenn ich scrolle.
ein wort zu dem bUpdated: wenn ich das nicht hinzufüge, dann "zeichnet" mein prozessor sich tot (cpu-last konstant 100).