Firemonkey / Delphi 中的流体/动态布局

8

假设我想在一个表单上放置两个形状,使它们并排坐在一起,每个形状正好占窗口的50%,并且在调整窗口大小时进行调整。我应该如何做到这一点?

我真正想要的是按比例设置物品...例如...将上述形状之一占用25%,另一个占用75%

动态调整大小非常重要,我不想输入任何代码来实现这一点。


看到这个被投票否决真的让我很生气。这不是一个有效的问题吗?没有反馈,我该如何改进我的问题呢? - NoPyGod
2
我认为它之所以被投票踩是因为使用了消极措辞(“非常有限”与“非常不同”相对比)。FireMonkey具有像WPF一样可扩展的布局功能,但工作方式不同。让你的问题更加中立,你会得到更多的支持票。 - Jeroen Wiert Pluimers
1个回答

10

可以通过将TLayout拖动到表单上并将“Align”选项设置为“alscale”来实现。

然后向TLayout添加2个项目,例如,对于我的示例TPanels-两个都设置为“alscale”的对齐选项。将每个的宽度设置为所需比率。

创建表单时:

Form on creation

调整大小后的表单: enter image description here

可以使用“无代码”实现这一点- 对于上面的图像,我只需添加标签以显示在表单调整大小时的面板宽度。 希望有所帮助 保罗


远程登录我的工作机器只是为了试一下,成功了!太棒了,谢谢。 - NoPyGod
@NoPyGod 很高兴能帮忙 - 我在这里也得到了很多帮助 - Paul - Paul Heinrich
问题在于 OP 找不到文档或者文档并不是很有用。在 Firemonkey 中,使用一个属性(align)代替两个属性(VCL 有 align 和 anchors)是一种设计上的改进,但如果你对 Delphi 的历史了解不多,你可能没有想到尝试使用 align,除非有更多的文档支持。 - Warren P

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接