Sie sagen nicht, was der Zweck ist, und es gibt eine Reihe von Möglichkeiten, Symbole zu erhalten, und je nach Zweck kann eine Methode besser als eine andere sein.
Um jedoch eine beliebige Anzahl von "großen" (32x32) und / oder "kleinen" (16x16) Symbolen * aus einer beliebigen Datei zu extrahieren, verwenden Sie die ExtractIconEx
Funktion. Auf diese Weise können Sie ein oder mehrere Symbole dieser beiden Standardgrößen aus einer Symboldatei (.ico), EXE oder DLL extrahieren. Eine Symboldatei kann mehrere Bilder enthalten. Mit dieser Funktion können Sie alle Bilder erhalten.
Die Funktion schreibt in ein Array von Handles, die Sie jeweils der Handle
-Eigenschaft einer TIcon
-Instanz zuweisen können. Dann können Sie die Methoden TIcon
wie gewohnt verwenden, wenn Sie den TIcon anders geladen hätten Weg. Beachten Sie, dass es neu in Delphi XE ist, es einfach in eine Bitmap über die Assign-Methode zu kopieren . Dieser Artikel zeigt auch, wie Sie auf auf alle Standard-Windows-Betriebssysteme zugreifen können Symbole , wenn dies der Fall ist, nach dem Sie suchen.
(Randnotiz: Ich denke, die TIcon
-Klasse ermöglicht das Laden einer Datei über ihre LoadFromFile
method - das scheint in der Dokumentation zu fehlen, aber ich bin ziemlich sicher, dass es existiert. Aus dem Speicher, das nur ein einzelnes Symbol lädt.)
(*) Eigentlich können "groß" und "klein" anders sein als 32x32 und 16x16: verwenden das
GetSystemMetrics
Funktion mitSM_CXICON
,SM_CYICON
,SM_CXSMICON
undSM_CYSMICON
flags, um das herauszufinden Dimensionen jedes Typs.
Tags und Links delphi delphi-2010