So sieht meine füll routine aus:
Delphi-Quellcode:
in .dfm
object FileIcons: TImageList
BlendColor = clGradientInactiveCaption
BkColor = 15918295
Masked = False
Left = 632
Top = 32
end
...
FileIcons: TImageList;
...
procedure DoIt();
var
i: Integer;
SL2: TStringDynArray;
SL2idx: Integer;
Icon: TIcon;
dummy: Word;
begin
dummy := 0;
SL2idx := 0;
SetLength( SL2, 1 );
...code um SL zu füllen...
if SL2idx > 0
then Dec( SL2idx );
SetLength( SL2, SL2idx );
Icon := TIcon.Create;
Icon.Transparent := True;
lvFiles.Items.BeginUpdate;
for i := 0
to Length( SL2 ) -1
do
with lvFiles.Items.Add()
do
begin
if cbUseIcons.Checked
then
Icon.Handle := ExtractAssociatedIcon( hInstance, PWideChar( SL2[ i ] ), dummy );
Icon.Transparent := True;
ImageIndex := FileIcons.AddIcon( Icon );
DestroyIcon( Icon.Handle );
Caption := SL2[ i ];
end;
lvFiles.Items.EndUpdate;
Icon.Free;
end;
Lasse ich das Icon laden weg = hab ich fast sofort die Ergebnisse dargestellt
Nehm ich Icon mit rein dauert es teilweise ewig.
Mach ich da was falsch?