Ich bin wegen genau dem Problem sehr von den Komponetnen enttäuscht, außerdem fand ich es sehr dähmlich, dass ein Button immer ein PNG Bild besitzen muss damit es keine Fehlermeldung gibt. (Umstieg auf dynamisch war nicht möglich wegen multilanguage !!!)
Jetzt habe ich aber eine sehr schöne Komponente gefunden "TcxImageList" von
http://www.devexpress.com/, eigentlich ist diese ImageList nur eine optionale Komponete und wenn ich micht nicht irre bei allen dort erhältlichen Komponenten verfügbar. Das Problem jedoch ist das die Komponeten sehr teuer sind, 100-200 E und es sich nicht für jeden lohnt, weil es eben nur wegen dieser "TcxImageList" ist. Jedoch bin ich damit sehr zufrieden. Natürlich unterstützt diese PNG Bilder aber auch BMP und ICO.
Als Button benötigt man dann einen der aus einer ImageList laden kann, als Beispiel kann ich da den "TRzBitBtn" von
http://www.raize.com/DevTools/RzComps empfehlen, auch wie die ImageList kostet dieser Geld (~300E), jedoch sollte man hier sehr einfach optionale kostenlose Komponenten finden.
Das hört sich jetzt vielleicht an als wollte ich Werbung machen, jedoch muss ich ganz ehrlich sagen das die "TcxImageList" um einiges besser ist als die "TPngImageCollection". Wie gesagt, wenn man im Internet noch weiter sucht kann man bestimmt kostenlose Komponenten finden die auch gut sind, da Torry jedoch offline ist wird dies erschwert :(