Ich würde nicht nur
Grid.Canvas.TextWidth(Grid.Cells[vRow, vCol])
werwenden, sondern z.B.
Grid.Canvas.TextWidth(Grid.Cells[vRow, vCol]) + 4
Delphi-Quellcode:
For vCol := FixedCols To pred(Grid.ColCount) Do
Begin
len := 20; // min. Breite
For vRow := FixedRows To pred(Grid.RowCount) Do
If len < Grid.Canvas.TextWidth(Grid.Cells[vRow, vCol]) + 4 Then
len := Grid.Canvas.TextWidth(Grid.Cells[vRow, vCol]) + 4;
Grid.ColWidths[vCol] := len;
End;
Den um die Schrift ist ja noch ein gewisser Rahmen, den sollte man nicht vergessen.