Delphi-Quellcode:
var MyCells : array of array of TColor;
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
s: String;
begin
if MyCells[ACol,ARow] <> 0 then
with Sender as TStringGrid do
begin
s := Cells[ACol, ARow];
Canvas.Brush.Color := MyCells[ACol,ARow];
Canvas.FillRect(Rect);
DrawText(Canvas.Handle, PChar(s), Length(s), Rect, DT_LEFT);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Setlength(MyCells,10,20);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
MyCells[Stringgrid1.Selection.Left,Stringgrid1.Selection.Top] := clRed;
end;
Mit SetLength musst du dann das Array an deine Zeilen und Spaltenzahl anpassen
(wenn die sich in Programmverlauft ändern sollten). (Siehe FormCreate)