Wenn man einfach nur mit DIV arbeitet, passen die Spalten natürlich in das Grid, ohne das der Scrollbalken erscheint. Je nach Gridgröße entsteht dann aber am rechten Rand eine mehr oder weniger große weiße Fläche, die nicht zu einer Zelle gehört.
Wenn man immer die gesamte Gridfläche verwenden möchte, ohne das der Scrollbaken erscheint, verwendet man z.B. folgenden Code...
Delphi-Quellcode:
procedure StringGridResize(Grid: TStringGrid);
var i, w, cols, line:integer;
begin
cols:=Grid.ColCount;
line:=Grid.GridLineWidth;
w:=0;
for i:=1 to cols do begin
Grid.ColWidths[i-1]:=
(Grid.Canvas.ClipRect.Right - w - (line * (cols - i))) div (cols - i + 1);
w:=w + Grid.ColWidths[i-1] + line;
end;
end;