In SetGlyphList fügst du die Bilder mit Add hinzu. Versuch es mal mit AddMasked, dann kannst du eine Farbe angeben welche Transparent wird.
FGlyphList.AddMasked(dbm, clFuchsia);
Wenn du dann noch das Makro (ImageList_DrawEx) durch die Draw-Methode der ImageList ersetzt, sollte es klappen.
Delphi-Quellcode:
if FGlyphList.Count=3 then
if not FMouseInControl then begin
FGlyphList.Draw(Canvas, 0, 0, 0);
end
else
if not FMouseClick then begin
FGlyphList.Draw(Canvas, 0, 0, 1);
end
else begin
FGlyphList.Draw(Canvas, 0, 0, 2);
end;