Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Grafik / Sound / Multimedia (https://www.delphipraxis.net/21-library-grafik-sound-multimedia/)
-   -   Delphi Icons aus shell32.dll auslesen (https://www.delphipraxis.net/57174-icons-aus-shell32-dll-auslesen.html)

Matze 16. Nov 2005 20:29


Icons aus shell32.dll auslesen
 
Runger und himitsu haben hier einen Code-Schnipsel zusammengetragen, mit dem man die Icons aus der shell32.dll auslesen kann:

Delphi-Quellcode:
function GetIcon(icon_nr_s: cardinal): TIcon;
begin
  Result := TIcon.Create;
  Result.Handle := ExtractIcon(Application.Handle, 'c:\windows\system32\shell32.dll', icon_nr_s);
end;
Um den Pfad nicht explizit angeben zu müssen, kann man ihn auch per GetSpecialFolder ermitteln, was empfehlenswert ist.

Der_Unwissende 16. Nov 2005 20:58

Re: Icons aus shell32.dll auslesen
 
Hey,
tolle Funktion, aber wenig Hilfreich oder? Ich meine ok, wenn man weiß dass man das Icon icon_nr_s möchte, toll, wenn ich aber gar nicht weiß an welcher Stelle sich welches Icon befindet...
Vorallem bekommst du hier ein Gültiges TIcon mit ungültigem Handle, weiß nicht ob dass so erwünscht ist. Es sollte also mindestens die Gültigkeit des Handles überprüft werden
Delphi-Quellcode:
function GetIcon(icon_nr_s : Cardinal; const FileName : String) : TIcon;
var handle : HICON;
begin
  result := nil;
  handle := ExtractIcon(Application.Handle, PChar(FileName), icon_nr_s);
  if handle <> 0 then
    begin
      Result := TIcon.Create;
      Result.Handle := handle;
    end; // if handle <> 0 
end;

function GetIconCount(const FileName : String) : HICON;
begin
  result := 0;
  result := ExtractIconEx(PChar(FileName), -1, result, result, 0);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:17 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