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.Le ft, 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;