Hallo habe wie im Title schon angegeben probleme (mal wieder) mit der ImageList.
Dieses mal dieses:
Die ersten 6 Icons sind müll - ab da an werden die Icons jeweils immer doppelt in die ImageList eingefügt..
Hier mein Code:
als strPath: benutze ich 'C:\Windows\'
Delphi-Quellcode:
procedure LV_InsertFiles(strPath: string; ImageList: TImageList);
var
i, hoo: Integer;
Icon: TIcon;
SearchRec: TSearchRec;
FileInfo: SHFILEINFO;
begin
hoo := 0;
i := 0;
ImageList.Clear;
try
i := FindFirst(strPath + '*.*', faAnyFile, SearchRec);
while i = 0 do
begin
if (SearchRec.Attr and FaDirectory <> FaDirectory) and (SearchRec.name <> '.') and (SearchRec.name <> '..') then
begin
Icon := TIcon.Create;
DestroyIcon(FileInfo.hIcon);
SHGetFileInfo(PChar(strPath + SearchRec.Name), 0, FileInfo, SizeOf(FileInfo), SHGFI_ICON or SHGFI_LARGEICON);
icon.Handle := FileInfo.hIcon;
Form1.Image1.Picture.Icon := Icon;
inc(hoo);
Form1.Label1.Caption := IntToStr(hoo);
ShowMessage ( IntToStr( ImageList.AddIcon(Icon) ));
Application.ProcessMessages;
Icon.Free;
end;
i := FindNext(SearchRec);
end;
finally
end;
end;