1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
interface
...
const
Couleur_Vert:integer=0;
Couleur_Orange:integer=1;
Couleur_Rouge:integer=2;
//Ces trois constantes sont pour éviter de se rappeler que 0 c'est vert, 1 c'est orange et 2 c'est rouge ^^
type
TCompo=class(TPaintBox)//C'est à toi de voir si cet héritage te convient
private
FImageList:TImageList;
procedure SetCouleur(Value: Integer);
protected
procedure Paint;override;
published
ImageList:TImageList read FImageList;
Couleur:integer read FCouleur write SetCouleur;
end;
implementation
procedure TCompo.Paint;
var t:TBitmap;
begin
t:=TBitmap.Create;
FImageList.GetBitmap(FCouleur,t);//Ici peut-être vérifier que FCouleur soit bien compris entre 0 et 2
Canvas.Draw(0,0,t);
t.Free;
end;
procedure TCompo.SetCouleur(Value: Integer);
begin
if Value<>FCouleur then
begin
FCouleur:=Value;
Invalidate;
end;
end; |