One way could be to have an
property ImageBackgroundColor: TColor default clNone;
and when clNone it'll take the SelectionColor or BackgroundColor (depending on the Selected State) of the list box, otherwise it'll draw the icon area with this color before drawing the icon (which is presumed to be partially transparent). Actually, I think I'll change my code above to use this concept. It'll give the user more freedom...
I've sent you my updated UNIT in a PM. My changes are marked with
// Change: KRH >>
// <<