Ver Mensaje Individual
  #11  
Antiguo 27-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
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);

     { Los Items impares tendrán la imagen con index 0 que
       se encuentre en el componente "TImageList" que asumimos
     }
     if Odd(Index) then
       ImageList1.Draw(Canvas, 0, Rect.Top, 0)
     else
       // Los Items pares tendrán la imagen con index 1
       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.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita