Как создать Tgrid во время выполнения - PullRequest
0 голосов
/ 25 мая 2020

Я новичок в 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;

1 Ответ

1 голос
/ 25 мая 2020

Элемент управления сетки должен иметь родительский элемент управления. В самом деле, естественно, система должна знать , где (на экране), чтобы поместить ваш элемент управления!

Вероятно, вы хотите, чтобы сетка имела форму в качестве своего родителя. Если это так, просто добавьте Grid.Parent := Form1; после построения сетки.

Конечно, когда вы добавите эту недостающую строку кода и увидите сетку, вы очень скоро заметите, что ваш Margins назначения не действуют. Это потому, что по умолчанию вы управляете положением элемента управления (без каламбура) вручную, используя его свойства Top, Left, Height и Width.

Но если вы начнете экспериментировать с Align, вы обнаружите эффект полей, если вы также установите AlignWithMargins на True. Например, если вы установите Align на alClient, элемент управления займет всю клиентскую область своего родителя с сохранением полей.

...