在这种特殊情况下,我使用PowerPDF库来动态构建PDF文档,但这同样适用于在父控件内顺序动态对齐控件的一般概念.在这个库中,TPRPage是包含所有元素控件的基本控件,在本例中是包含所有元素控件的顺序实例TPRLayoutPanel.
动态添加控件时的操作:
TPRLayoutPanel)TPRPage)PRLayoutPanel.Align:= alTop;)问题是它被强制到最开始(顶部)而不是页面的最后(底部).
我试过设定它的顺序PRLayoutPanel.SendToBack;,PRLayoutPanel.BringToFront但没有运气.
如何在父控件中顺序动态创建和对齐多个控件?我目前唯一的解决方法是以相反的顺序(从头到尾)添加控件,这是非常不必要的.
这是我的通用函数,它在此父级中创建对齐控件的每个新实例:
function TfrmReport.InsertPanel: TPRLayoutPanel;
begin
Result:= TPRLayoutPanel.Create(PRPage);
Result.Parent:= PRPage;
Result.Align:= alTop;
Result.Height:= 40; //Default, may change later
end;
Run Code Online (Sandbox Code Playgroud)