Hi,
die Symbole sind unter Windows alle in der Shell32.dll enthalten.
So kannst Du es mit Delphi auslesen:
Delphi-Quellcode:
procedure GetShell32Bitmap(Bitmap: TBitmap; const ID, Index, Size: Byte);
var h: hModule;
begin
h := LoadLibrary('Shell32.dll');
try
Bitmap.LoadFromResourceID(h, ID);
Bitmap.Canvas.CopyRect(Rect(0, 0, Size, Size), Bitmap.Canvas, Rect(Size*Index, 0, Size*(Index+1), Size));
finally
FreeLibrary(h);
end;
Bitmap.Width := Size;
Bitmap.Height := Size;
end;
Als Parameter verwendest Du folgende:
ID:
214 groß (
Size: 24) hell
215 groß (
Size: 24) dunkel (für Hover-Effekt)
216 klein (
Size: 16) hell
217 klein (
Size: 16) dunkel (für Hover-Effekt)
Index:
0 Zurück
1 Vorwärts
2 Favoriten
3 Favoriten hinzufügen
4 Ansicht
5 Ausschneiden
6 Kopieren
7 Einfügen
8 Rückgängig
9 Wiederherstellen
10 Löschen
11 Neue Datei
12 Datei öffnen
13 Datei speichern
14 Druckvorschau
15 Eigenschaften
16 Hilfe
17 Suchen
18 Ersetzen
19 Drucken
20 Große Symbole
21 Kleine Symbole
22 Liste
23 Details
24 Nach Namen sortieren
25 Nach Größe sortieren
26 Nach Datum sortieren
27 Nach Typ sortieren
28 Aufwärts
29 Laufwerk verbinden
30 Laufwerk trennen
31 Neuer Ordner
32 Ansicht
Wenn Du z.B. das kleine dunkle Symbol von Datei öffnen haben willst geht das so:
GetShell32Bitmap(SpeedButton1.Glyph, 217, 12, 16);
Aber Achtung:
Ein Glyph eines SpeedButtons unterstützt keine 32 Bit, dieses Bitmap liegt allerdings als 32 Bit mit Alpha-Kanal vor.
D.h. die Ränder des Bitmaps sehen evtl. etwas verpixelt aus.