Maybe this?
procedure TForm1.StringGrid1DrawCell(Sender: TObject; aCol, aRow: Integer;
aRect: TRect; aState: TGridDrawState);
begin
if StringGrid1.ColWidths[ACol] < Canvas.TextWidth(StringGrid1.Cells[ACol, ARow]) + 10 then
StringGrid1.ColWidths[ACol] := Canvas.TextWidth(StringGrid1.Cells[ACol, ARow]) + 10;
end;