- Offizieller Beitrag
Nachdem eukalyptus mir den Weg gewiesen hat (siehe: Icondatei mit mehreren Icongrößen mit GDI+ laden), bin ich auf Pilgertour gegangen und habe am Wegesrand nicht nur "Width", "Height" und "Bits" gefunden, sondern auch noch "Size" und "Offset".
Da dachte ich mir, warum die Icons nochmal laden, wenn sie doch bereits im Speicher stehen und nur darauf warten ausgelesen zu werden.
Also alles auf einmal und dann auch gleich noch in HBitmaps wandeln, damit man sie an ein Pic-Control übergeben kann.
Rausgekommen ist dann diese UDF (Anhang) und noch ein Beispiel dazu.
Es werden alle Icons (alle Icongrößen in allen Farbtiefen) aus der Icondatei extrahiert und in HBitmaps umgewandelt. Im 2D-Array ist dann folgendes enthalten:
[$iCount][0] = Handle zum HBitmap
[$iCount][1] = Breite des Icons
[$iCount][2] = Höhe des Icons
[$iCount][3] = Farbtiefe (Bits) des Icons
[$iCount][4] = Größe (Bytes) des Icons
Edit 20.06.15 : Ich habe die Funktion nochmal überarbeitet. Jetzt werden auch halbtransparente Icons unterstützt (siehe Beispiel).