如何在控件中嵌入firemonkey表单?

mam*_*mcx 6 delphi delphi-xe2 firemonkey

我试图在Scrollbox中嵌入一个表单:

procedure TfrmMain.FormCreate(Sender: TObject);
var
  Control:TControlView;
begin
  Control := TControlView.Create(Self);
  Control.BorderIcons := [];
  Control.parent := ListControls;
  Control.width := 800;
  ListControls.AddObject(Control);
  Control.Visible:= True;
end;
Run Code Online (Sandbox Code Playgroud)

然而,表格显示在tfrmMain后面和表格的边缘之外.

我的想法是在一个面板中放置一个表单,并且都在滚动框内.每个表单代表一个复杂的项目,有几个控件和东西(不使用ListBox的原因?Firemonkey控件创建比简单地执行一个表单并嵌入它要困难得多)

Mik*_*ton 5

秘诀在于您如何设计您的孩子表格.

您需要将控件创建为容器,例如TLayout(无样式),TRectangle(基本样式)或TPanel.我会选择TLayout.确定容器的名称,为了参数说"容器".现在创建子表单并简单地将Parent的Parent分配给父对象.

所以,从上面的代码(我假设TControlView是你的子表单):

procedure TfrmMain.FormCreate(Sender: TObject);
var
  Control:TControlView;
begin
  Control := TControlView.Create(Self);
  Control.Container.parent := ListControls;
  Control.Container.width := 800;
end;
Run Code Online (Sandbox Code Playgroud)