Hola,
Bueno. Pues utilizando un "ComboBox" normal, corriente y moliente, poniendo su estilo a "csOwnerDrawFixed", podemos utilizar su evento "OnDrawItem" más o menos como sigue:
Código Delphi
[-]
procedure TForm1.ComboBox1DrawItem(Control: TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TComboBox) do
begin
Canvas.FillRect(Rect);
if Odd(Index) then
ImageList1.Draw(Canvas, 0, Rect.Top, 0)
else
ImageList1.Draw(Canvas, 0, Rect.Top, 1);
Canvas.TextOut(Rect.Left+18,Rect.Top,Items[Index]);
end;
end;
Todavía quedaría por retocar algunos detallitos, pero, básicamente eso es.