Einzelnen Beitrag anzeigen

Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#10

Re: VST: Massenweise verschiedene Icons schnell laden

  Alt 7. Jun 2008, 20:04
Ich habe nun eine TList und leider auch noch die oben genannte Fehlermeldung. Die Funktion GetExtIcon existiert nun bei mir in zwei Varianten, die hier genutzte steht im zweiten Kasten. Icon ist daher als HICON deklariert.
Delphi-Quellcode:
GetExtIcon(Ext, Icon, False);
Index := Icons.IndexOf(@Icon);
if Index = -1 then
begin
  Icons.Add(@Icon);
  TreeData.fIcon := Pred(Icons.Count);
end else
  TreeData.fIcon := Index;
Delphi-Quellcode:
function GetExtIcon(const Ext: String; var Icon: HICON; const FileMustExist: Boolean): Boolean;
var FI : TSHFileInfo;
    Attributes : DWORD;
    Flags : Word;
begin
  if FileMustExist then
  begin
    Attributes := 0;
    Flags := SHGFI_ICON or SHGFI_SMALLICON;
  end else
  begin
    Attributes := FILE_ATTRIBUTE_NORMAL;
    Flags := SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_SMALLICON;
  end;

  if SHGetFileInfo(PChar(Ext), Attributes, FI, SizeOf(FI), Flags) <> 0 then
  begin
    Icon := FI.hIcon;
    Result := True;
  end else
    Result := False;
end;
  Mit Zitat antworten Zitat