Hab hier auch "nur" D7 und ich glaub VTV v4.4.3 drauf.
Die SystemImageList ist im Grunde auch nur 'ne normale ImageList ... nur daß die sozusagen halt "alle" Icons des Systems enthält.
SHGetFileInfo
Delphi-Quellcode:
Var SystemImages: TImageList;
SystemImages.ShareImages := True;
SystemImages.Handle := SHGetFileInfoW('', 0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_OPENICON);
Und dann halt nur noch den IconIndex besorgen.
Delphi-Quellcode:
Procedure TMainForm.VirtualStringTree1GetImageIndexEx...
...
If SHGetFileInfoW(PChar(PWideChar(ProgressForm._DC.GetFullName(Index, False))),
0, SFI, SizeOf(SFI), SHGFI_SYSICONINDEX or SHGFI_SMALLICON or SHGFI_OPENICON) <> 0 Then
ImageIndex := SFI.iIcon;
Eine "normale" TImageList greift ja intern auch nur auf auf die entsprechende
WinAPI zu.
Was lädst du denn eigentlich für Bilder in die ImageList?
[add]
Zitat:
also ich kriege in die Imagelist so um die 500 rein
bevor ich direkt zur SystemImageList gewechselt bin, hatte ich auch mal mehrere 1000 Icons in einer Liste