Man braucht die Icon gar nicht in die Liste einfügen.
1. System-Image-List-
Handle besorgen
Delphi-Quellcode:
var dwAttr : Cardinal;
fInf : TSHFileInfo;
begin
if alSmall then
dwAttr := SHGFI_SMALLICON
else
dwAttr := SHGFI_LARGEICON;
FillMemory(@fInf, SizeOf(fInf), 0);
Result := SHGetFileInfo(PChar(GetWinDir), 0, fInf, SizeOf(fInf) ,
SHGFI_SYSICONINDEX or dwAttr);
end;
2. Shared-Delphi-Image-List anlegen +
Handle setzen
Delphi-Quellcode:
if fSysImgLsts[alSmall] =
nil then
begin
fSysImgLsts[alSmall] := TCustomImageList.Create(
nil);
with fSysImgLsts[alSmall]
do
begin
ShareImages := true;
Handle := ShlImgs.SysImgLst(alSmall);
end;
end;
Result := fSysImgLsts[alSmall];
3. Image-Index besorgen
das ganz du aber selber versuchen, damit man auch was dabei lernt, einfach mal im internet suchen