如何在运行时创建Tgrid

问题描述 投票:0回答:1

我是Delphi创建运行​​时Tgrid的新手,并希望添加一些行和列。我用谷歌搜索,但是什么也没得到。我在零级。我在下面提到的内容对此代码进行了尝试。此代码未在表单上显示任何内容。

procedure TForm1.Button1Click(Sender: TObject);
var
  Grid : TGrid;
begin
  Grid := TGrid.Create(Form1);
  Grid.Visible := True;
  Grid.Margins.Left := 10;
  Grid.Margins.Right := 10;
  Grid.Margins.Top := 10;
  Grid.Margins.Bottom := 10;
  Grid.RowCount := 5;
end;
delphi firemonkey delphi-10-seattle
1个回答
1
投票

网格控件必须具有父控件。实际上,自然地,系统必须知道where(在屏幕上)才能放置控件!

您可能希望网格具有该表单作为其父表单。如果是这样,只需在构建网格后添加Grid.Parent := Form1;

当然,当您添加缺少的这一行代码并看到网格时,您很快就会注意到Margins分配无效。这是因为默认情况下,您可以使用控件的TopLeftHeightWidth属性手动控制控件的位置(无双关)。

但是如果您还尝试将Align属性设置为AlignWithMargins,则会发现边距的效果。例如,如果将True设置为Align,则控件将占据其父级的所有客户区域,并保留边距。

© www.soinside.com 2019 - 2024. All rights reserved.