gpt4 book ai didi

delphi - 将Tframe在TTabSheet中居中;

转载 作者:行者123 更新时间:2023-12-03 19:43:20 24 4
gpt4 key购买 nike

我有一个使用PageControl和许多TabSheets的delphi应用程序。我还在运行时创建新的TabSheets,并用预定义框架的实例填充它们。这些框架可以很好地工作,除了不能以TabSheet为中心的外观问题。我尝试使用Frame.Align := alClient,但没有这样做。相关代码如下:

CreateNewPage(3);
NewLimitedChoiceFrame := TLimitedChoiceFrame.Create(NewInputPage);
NewLimitedChoiceFrame.Parent := NewInputPage;


CreateNewPage创建 TabSheet的新实例,并使 PageControl为所有者和父级。结果分配给全局变量 NewInputPage

最佳答案

要将控件置于其父控件的中心,请执行以下操作:

procedure CentreControl(Control: TControl);
begin
Control.Left := (Control.Parent.ClientWidth-Control.Width) div 2;
Control.Top := (Control.Parent.ClientHeight-Control.Height) div 2;
end;


调用此函数,传递框架。显然,您需要等到分配父级后再这样做。

如果可以在运行时调整页面控件的大小,请从选项卡的OnResize事件中添加对此函数的调用。或者,由于 NGLN points out只需将控件的 Anchors设置为 [],并且在调整其父控件的大小时,VCL框架将使控件居中。

关于delphi - 将Tframe在TTabSheet中居中;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12612442/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com