Bonjour,

Un problème tout bête sans doute que je n'ai pas réussi à résoudre:

Dans un ColorBox, je choisie une couleur qui doit se transmettre à un TShape.brush

Il me faut cliquer deux fois dans la ListeBox pour y arriver. Je ne dois pas avoir la bonne méthode.
Selected impose l'index à la ColorBox qui se met bien sur la bonne couleur, donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
  ColorBox1.Selected := clyellow;
.
J'obtiens bien le jaune, mais ça ne marche pas à l'inverse. Je voudrais qu'en récupérant l'index de la ColorBox, j'obtiens le jaune indiqué...

Voici mon code, si vous trouvez l'erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
procedure TForm2.FormCreate(Sender: TObject);
begin
  indexShape := 5; // stCircle
  ColorBox1.Selected := clyellow;
  Shape1.Brush.Color :=  ColorBox1.Selected;
end;
 
{--- Choix couleur de Shape ---------------------------------------------------}
procedure TForm2.ColorBox1Click(Sender: TObject);
begin
  if Colorbox1.ItemIndex > -1 then
  begin
     ColorBox1.Selected := ColorBox1.Colors[Colorbox1.ItemIndex];
     Shape1.Brush.Color := ColorBox1.Selected;
  end;
end;
si vous avez une idée!, merci