Hallo,
was macht ihr da, und warum.....?
Warum nicht einfach so:
Delphi-Quellcode:
function GetGridWidth(aStringGrid: TStringGrid): integer;
var
i: integer;
begin
Result := 0;
with aStringGrid do
for i := 0 to ColCount-1 do
inc(Result, ColWidths[i] + GridLineWidth);
end; // GetGridWidth
function GetGridHeight(aStringGrid: TStringGrid): integer;
var
i: integer;
begin
Result := 0;
with aStringGrid do
for i := 0 to RowCount-1 do
inc(Result, RowHeights[i] + GridLineWidth);
end; // GetGridHeight
procedure AdjustFormSize(aStringGrid: TStringGrid; aForm: TForm);
begin
with aStringGrid do
begin
ClientWidth := GetGridWidth(aStringGrid);
ClientHeight := GetGridHeight(aStringGrid);
end;
aForm.AutoSize := true;
end; // AdjustFormSize
und dann im FormShow oder wo es passieren soll
Delphi-Quellcode:
procedure TForm1.FormShow(Sender: TObject);
begin
AdjustFormSize(StringGrid1, Self);
end;
OOP und Objektablage geht natürlich auch.
Grüße,
blauweiss