我试图在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控件的创建比简单地执行一个表单并嵌入它要困难得多)
解决方法
秘诀在于您如何设计您的孩子表格.
您需要将控件创建为容器,例如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;