gpt4 book ai didi

delphi - 如何在 Delphi 的表单中获取所有组件(Tlabel,Tedit ...)?

转载 作者:行者123 更新时间:2023-12-03 18:30:56 26 4
gpt4 key购买 nike

我成功编写了一个改变我的TLabel大小的运行时事件。当我重新调整表格大小时

procedure TForm3.pack(Sender: TObject);
begin
Label1.Font.Size:=Floor(50*(Form3.Width/Screen.Width)*(Form3.Height/Screen.Height));
end;

现在我想获得表单上所有组件的数组,所以我循环并重新调整它们的大小。

如果有预定义的选项或程序,请提供任何帮助,谢谢告诉我(如响应式)

谢谢

最佳答案

您可以使用表格的Controls属性(property)。由于所有控件都继承自 TControl , 和 TControl有一个 Font属性,它使它变得非常容易(尽管该属性在 TControl 中受到保护,因此您需要一个插入器类):

type
TCtrl = class(TControl);

var
i: Integer;
NewSize: Integer;
begin
NewSize := Floor(50*(Form3.Width/Screen.Width)*(Form3.Height/Screen.Height));
for i := 0 to ControlCount - 1 do
TCtrl(Controls[i]).Font.Size := NewSize;
end;

请注意,某些控件(例如 TPanelTTabSheet )可以作为其他控件的父级,因此它们将拥有自己的 Controls列表。您还需要遍历这些内容。

关于delphi - 如何在 Delphi 的表单中获取所有组件(Tlabel,Tedit ...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32702541/

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