Also ich habe es gerade getestet (XE7) und
TStringGrid.ClientWidth ändert sich, wenn die Scrollbar ins Spiel kommt.
Delphi-Quellcode:
type
TForm1 = class( TForm )
StringGrid1: TStringGrid;
Label1: TLabel;
Button1: TButton;
procedure Button1Click( Sender: TObject );
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click( Sender: TObject );
begin
StringGrid1.RowCount := StringGrid1.RowCount + 1;
Label1.Caption := StringGrid1.ClientWidth.ToString;
end;
Allerdings muss man aufpassen, wenn man innerhalb eines StringGrid-Events auf diese Eigenschaft zugreifen möchte. Diese wird nämlich quasi zum Abschluss der gesamten Aktualisierung gesetzt und ist somit erst nach Abarbeitung der ganzen Events verfügbar.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)