Comment colorier un stringgrid (autre méthode).

Contenu du snippet

Procedure TForm1.Modifie_la_grille();
Var Str:String;
Ligne,Col:WORD;
Rect_cell:Trect;
Tab_color:array of Tcolor;

begin
SetLength (Tab_color, 200);
Tab_color[1] := clGreen;
Tab_color[2] := clRed;
Tab_color[3] := clYellow;
Tab_color[4] := clBlue;
Tab_color[5] := RGB(100, 100, 255);


//Cet exemple montre comment modifier les cellules d'un Stringgrid.
for Ligne:=1 to 5 do begin
//Cette ligne est supprimée pour la démonstration.
//StringGrid1.Canvas.Brush.Color := Tab_color[Ligne];

for Col:=1 to 2 do begin

//Retourne le texte contenu de la cellule.
//On peut également écrire directement le texte sans le relire.
Str:=StringGrid1.Cells[Col,Ligne];

// ATTENTION !
//StringGrid1.CellRect(Col,Ligne); Retourne la dimension de la cellule VISIBLE sélectionnée.
//Utiliser StringGrid1.ColWidths[Col] pour justifier un texte au centre ou à droite
Rect_cell:=StringGrid1.CellRect(Col,Ligne);

//Réécrit le texte de la cellule en haut et à gauche.
StringGrid1.Canvas.TextRect(Rect_cell,Rect_cell.Left, Rect_cell.Top,Str);

//Remplissage de la cellule par la couleur desirée.
StringGrid1.Canvas.Brush.Color := Tab_color[Ligne];

//Tracé de la bordure de la cellule dans la couleur desirée si nécessaire.
StringGrid1.Canvas.FrameRect(Rect_cell); // Bordure.

end;
end;
end;

procedure TForm1.cmd_ModifieClick(Sender: TObject);
begin
Modifie_la_grille();
end;

Conclusion :


Ouvrir un projet.
Ajouter un Stringgrid.
Ajouter un bouton.
Copier le code du bouton et celui de la procédure.
Run!

Les couleurs des cellules sont décalées volontairement.

HN.

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.