Zitat von
Gummibärchen:
falls das Thema schon durchgekaut wurde
Nicht das ich wüsste.
Eine vorgefertige Funktion gibt es dafür nicht. Du musst also selbst alle Zellen der Spalte(n) durchlaufen und ColWidths[] entsprechend setzen.
Ungetestet:
Delphi-Quellcode:
for Col := 0 to Grid.ColCount - 1 do
begin
len := 20; // min. Breite
for Row := 0 to Grid.RowCount - 1 do
begin
if len < Grid.Canvas.TextWidth(Grid.Cells[Row, Col]) then
len := Grid.Canvas.TextWidth(Grid.Cells[Row, Col]);
end;
Grid.ColWidths[Col] := len;
end;