Einzelnen Beitrag anzeigen

jottkaerr

Registriert seit: 2. Jul 2007
Ort: Tuttlingen
81 Beiträge
 
Delphi 10.1 Berlin Professional
 

Re: Icon/Text zu Dateierweiterung auslesen

  Alt 7. Sep 2007, 07:18
Hallo Nils,

nimm die Funktion SHGetFileInfo aus der Unit ShellAPI:

Delphi-Quellcode:
uses
  ShellAPI;

function GetFileIcon(const FileName: string; const Icon: TIcon; const FileMustExist: Boolean): Boolean;
var
  FI: TSHFileInfo;
  Attributes: DWORD;
  Flags: Word;
begin
  if FileMustExist then
  begin
    Attributes := 0;
    Flags := SHGFI_ICON or SHGFI_LARGEICON;
  end
  else
  begin
    Attributes := FILE_ATTRIBUTE_NORMAL;
    Flags := SHGFI_USEFILEATTRIBUTES or SHGFI_ICON or SHGFI_LARGEICON;
  end;

  if SHGetFileInfo(PChar(FileName), Attributes, FI, SizeOf(FI), Flags) <> 0 then
  begin
    Icon.ReleaseHandle;
    Icon.Handle := FI.hIcon;
    Result := True;
  end
  else
    Result := False;
end;
Ein Aufruf mit

Delphi-Quellcode:
  if not GetFileIcon('*.pas', Image1.Picture.Icon, False) then
    ShowMessage('Default-Icon geladen');
lädt das große Icon, das Delphi-Quelltexten zugeordnet ist. Im Fehlerfall wird ein
Default geladen, wenn FileMustExist auf False steht. Steht FileMustExist auf True,
wird im Fehlerfall kein Icon geladen.

jkr
Jürgen Krämer
Sometimes I think the surest sign that intelligent life exists elsewhere
in the universe is that none of it has tried to contact us. (Calvin)
  Mit Zitat antworten Zitat