我试图在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;
但是,该窗体显示在tfrmMain的后面和窗体的边框之外。
我的想法是将一个窗体放在一个面板内,两个都放在滚动框内。每个表单代表具有多个控件和内容的复杂项(不使用ListBox的原因?Firemonkey控件的创建远比简单地将其嵌入表单要难得多)
最佳答案
secret 在于您如何设计 child 的形式。
您需要将控件创建为容器,例如TLayout(无样式),TRectangle(基本样式)或TPanel。我会选择TLayout。确定您的容器的名称,为方便起见,说“Container”。现在创建您的子窗体,只需将“容器父项”分配给您的父对象。
因此,从上面的代码中(我假设TControlView是您的子窗体):
procedure TfrmMain.FormCreate(Sender: TObject);
var
Control:TControlView;
begin
Control := TControlView.Create(Self);
Control.Container.parent := ListControls;
Control.Container.width := 800;
end;