So ist es jetzt dann richtig würde ich sagen zumindest bei mir geht es so ...
Ob eine Spalte gleich 0 wird habe ich nicht probiert
Delphi-Quellcode:
function TForm1.OptStringGridBreite(Sender: TObject): string;
var vCol, vRow, len: integer;
begin
with TStringGrid(Sender) do
for vCol := FixedCols to pred(ColCount) do
begin
len := 1; // min. Breite
for vRow := FixedRows to pred(RowCount) do
if len < Canvas.TextWidth(Cells[vcol, vrow]) + GridLineWidth + 4 then
len := Canvas.TextWidth(Cells[vcol, vrow]) + GridLineWidth + 4;
ColWidths[vCol] := len;
end;
end;