Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#3

Re: SmallIcon mit ExtractAssociatedIcon ???

  Alt 25. Dez 2003, 18:51
Boah, da hab ich doch glatt vergessen, meinen Vorschlag zu posten.
Hier ist er, bzw. sie (die Funktion):
Delphi-Quellcode:
uses
  ShellAPI;

function GetIconFromFile(const szFilename: string;
  fSmall: boolean = false): TIcon;
const
  dwIconFlags : array[boolean]of dword =
    (SHGFI_LARGEICON,SHGFI_SMALLICON);
var
  fi : TSHFileInfo;
begin
  Result := nil;

  // Symbol der Datei aus dem System ermitteln
  // Typ (= groß/klein) richtet sich nach dem
  // Funktionsparameter "fSmall" (default = false)
  ZeroMemory(@fi,sizeof(fi));
  SHGetFileInfo(pchar(szFilename),0,fi,sizeof(fi),
    SHGFI_ICON or dwIconFlags[fSmall]);

  // Symbol ermittelt
  if(fi.hIcon <> 0) then
  begin
    Result := TIcon.Create;
    if(Result <> nil) then
      Result.Handle := fi.hIcon;
  end;
end;
Diese Funktion lädt standardmäßig die großen Symbole, was du auch am Funktionskopf erkennen kannst:
Code:
[b]function[/b] GetIconFromFile([b]const[/b] szFilename: [b]string[/b];
  [color=#ff0000]fSmall: boolean = [b]false[/b][/color]): TIcon;
D.h. du musst den zweiten Parameter nicht mal benutzen, wenn du die großen Symbole haben willst:
ImageList1.AddIcon(GetIconFromFile('c:\autoexec.bat')); Da du aber auf die kleinen Symbole wild bist, , hängst du beim Aufruf einfach noch ein true an:
Code:
ImageList1.AddIcon(GetIconFromFile('c:\autoexec.bat',[color=red]true[/color]));
Das war´s.
  Mit Zitat antworten Zitat