Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi System-Icons in Delphi anzeigen (https://www.delphipraxis.net/112618-system-icons-delphi-anzeigen.html)

sundance 24. Apr 2008 14:01


System-Icons in Delphi anzeigen
 
Hallo,

ich möchte gerne in einem Programm Icons anzeigen, und zwar diejenigen, die im System für den jeweiligen Dateityp registriert ist. Jetzt habe ich hier folgende Funktion gefunden:
Delphi-Quellcode:
function GetShellIcon(const Name:String; const Large, Open:Boolean):HIcon;
   var FileInfo:TSHFileInfo;
       Flags:Integer;
begin
   ZeroMemory(@FileInfo, SizeOf(FileInfo));
   Flags:=SHGFI_ICON;
   If Open then Flags:=Flags or SHGFI_OPENICON;
   If Large then Flags:=Flags or SHGFI_LARGEICON else
      Flags:=Flags or SHGFI_SMALLICON;

   SHGetFileInfo(PChar(Name), 0, FileInfo, SizeOf(FileInfo), Flags);
   Result:=FileInfo.hIcon;
end;
Aber das funktioniert nur, wenn man eine explizite Datei angeben kann.
Wie macht man das, wenn man generell das Icon für z.B. WAV-Dateien anzeigen will?

jottkaerr 24. Apr 2008 17:33

Re: System-Icons in Delphi anzeigen
 
Verwende FILE_ATTRIBUTE_NORMAL im Attribute-Parameter und SHGFI_USEFILEATTRIBUTES im Flags-Parameter (siehe Icon/Text zu Dateierweiterung auslesen).

jkr

_frank_ 24. Apr 2008 17:41

Re: System-Icons in Delphi anzeigen
 
du suchst Hier im Forum suchenextractassociatedicon bzw. MSDN-Library durchsuchenextractassociatedicon?

HTH Frank

sundance 24. Apr 2008 20:28

Re: System-Icons in Delphi anzeigen
 
Tausend Dank! Funktioniert einwandfrei!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz