Tema: TComboBox
Ver Mensaje Individual
  #2  
Antiguo 18-01-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Reputación: 22
Bicho Va por buen camino
Hola, pos no lo entiendo, yo lo he probado y me funciona

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    ComboBox1: TComboBox;
    procedure ComboBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    procedure ComboBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  LastSelect : Integer;

implementation

{$R *.dfm}

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
var bTemp:TBitmap;
begin
  bTemp := TBitmap.Create;

  with (Control as TComboBox) do begin
    if Index = LastSelect then Canvas.Brush.Color := $00CCCC;

    Canvas.FillRect(Rect);
    Canvas.TextOut(Rect.Left,Rect.Top,Items[Index]);
    Canvas.Draw(Rect.Left + 2,Rect.Top + 2,bTemp);
  end;
  bTemp.Free;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  LastSelect := ComboBox1.ItemIndex;
  Edit1.Text := ComboBox1.Items.Strings[LastSelect];
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  LastSelect := -1;
end;

end.

Saludos
Responder Con Cita