Dans une StringGrid, comment fait on pour connaître la couleur d'une cellule
Version imprimable
Dans une StringGrid, comment fait on pour connaître la couleur d'une cellule
Bonjour Jyves ;)
Les couleurs de cellules sont uniques pour tout le stringGrid, il n'y a pas de propriété color pour chaque cellule.
Si tu cherches à modifier la couleur d'une cellule en particulier il faut alors coder l'évènement OnDrawCell.
Tu trouveras un exemple ici:
http://delphi.developpez.com/faq/?pa...leurstringgrid
Cordialement
Franck
Je n'ai pas de difficultés à mettre différentes couleurs dans différentes cellules. Mon problème c'est de savoir par la suite quelle couleur j'ai mis dans telle cellule.
Bonjour,
si tu connais les X, Y d'un point de ta cellule, tu peux t'inspirer de ce code (en ajoutant un Try, ... Except) :
Toutefois, normalement, si tu as mis des couleurs toi même dans les cellules de ta StringGrid, tu devrais connaitre ces couleurs ?Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 { ================================================================ } procedure TForm1.Panel1Click(Sender: TObject); Var Canvas1 : TCanvas ; coul : TColor ; begin Canvas1 := TCanvas.Create; Canvas1.Handle := GetWindowDC(GetDesktopWindow); // Récupération de la couleur du pixel pointé par la souris coul := Canvas1.Pixels[Mouse.CursorPos.X,Mouse.CursorPos.Y]; // Affichage de cette couleur dans un TShape Shape1.Brush.Color := coul; Canvas1.Free; end;
A+
Charly