Hallo,
Rahmen-, Srollbar- und die Gitterlinienbreite in die Berechnung einbeziehen, das Grid hat 5 Spalten.
ClientWidth ist gleich Width - Rand - Scrollbar
Delphi-Quellcode:
var iFixCol : Integer;
begin
iFixCol := 50;
StringGrid1.DefaultColWidth := ((StringGrid1.ClientWidth-iFixCol) div 4) - StringGrid1.GridLineWidth;
StringGrid1.ColWidths[0] := iFixCol+(StringGrid1.ClientWidth-iFixCol) mod 4;
//..
showmessage('Achtung! Differenz: '+IntToStr(StringGrid1.Width-StringGrid1.ClientWidth));