自動的に幅の調整をしてもらえると楽ですよね。
これもたいして難しくはないのですが。
以下のソース参考。
応用すれば編集したセルの列を自動的に幅揃えすることとかも出来ますね。
procedure TStringGridEx.AdjustWidths;
var
ACol, ARow, MaxSize: Integer;
begin
Canvas.Font := Font;
for ACol := 0 to ColCount - 1 do
begin
MaxSize := 0;
for ARow := 0 to RowCount - 1 do
begin
if MaxSize < Canvas.TextWidth(Cells[ACol, ARow]) then
MaxSize := Canvas.TextWidth(Cells[ACol, ARow]);
end;
if MaxSize = 0 then ColWidths[ACol] := DefaultColWidth
else ColWidths[ACol] := MaxSize + 5;
end;
DefaultRowHeight := Abs(Font.Height) + 4;
end;