Utiliser un TComboBox pour choisir une couleur

{IMPORTANT : fixer le style de ComboBox1 à csOwnerDrawVariable}
const
ColorConst: array[0..15] of TColor = (clBlack,
clMaroon, clGreen, clOlive, clNavy,
clPurple, clTeal, clGray, clSilver, clRed,
clLime, clYellow, clBlue, clFuchsia,
clAqua, clWhite);
ColorNames: array[0..15] of string = ('Black',
'Maroon', 'Green', 'Olive', 'Navy',
'Purple', 'Teal', 'Gray', 'Silver', 'Red',
'Lime', 'Yellow', 'Blue', 'Fuchsia',
'Aqua', 'White');

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
with (Control as TComboBox).Canvas do
begin
FillRect(Rect);
TextOut(30, Rect.Top,
ComboBox1.Items[Index]);
Pen.Color := clBlack;
Brush.Color := ColorConst[Index];
Rectangle(Rect.Left + 2, Rect.Top + 2, 24,
Rect.Top + 15);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
for i := 0 to 15 do
ComboBox1.Items.Add(ColorNames[i]);
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
Showmessage('Couleur choisie : ' + ColorNames[ComboBox1.ItemIndex]);
Form1.Color := ColorConst[ComboBox1.ItemIndex];
end;

end.
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour22/03/2002
VisualisationVu 876 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Objet
Auteur de l'article
Communauté Delphi Communauté Delphi
connecté le 02/11/2011
0 articles dans la section
Contacter l'auteur