首页 > 解决方案 > 如何在 Firemonkey 中最大化对齐/调整 5 个矩形的大小?

问题描述

所以这就是交易......我有一个正常的(未最大化 - 自定义大小)表格和 5 列和 2 行瓷砖(TRectangle)在它上面(图 1)。我的问题是我如何使用锚点、图层或任何东西来正确对齐/调整最大化时的图块(图 3)。这意味着如果按照我的逻辑我将所有对齐属性 (L/T/R/B) 设置为 True,则图块应该稍微变大并保持它们之间的相同边距(图 3),但实际上,不要,它们只是在最大化时相互重叠,如图 1 所示。2. 我的问题是如何设置瓷砖,使它们稍微大一点,并在它们之间保持相同的边距,就像窗口最大化时窗体正常(我的自定义大小)一样 - 基本上让它们很好地填充表格,而不是重叠。谢谢!PS:对不起我的蹩脚油漆画:) 小样

标签: delphifiremonkey

解决方案


这是TGridPanelLayout的工作。它们使用起来有点繁琐,但可以在尺寸变化的情况下证明自己。

  1. 创建一个TGridPanelLayout并设置它的 Align = Client。
  2. 添加缺少的列。当您第一次创建它时,布局有 2 行和 2 列。您可以通过向布局的 ColumnCollection 添加项目来获得更多信息。
  3. 将所有列的属性设置为 SizeStyle = Percent 和 Value = 20。
  4. 在布局中添加 10 个 TRectangle并设置它们的 Align = Client
  5. 设置布局的 Padding 和 Margin 属性以获得您想要的矩形之间和周围的间隙。

所有这些都不使用缩放,因此边距不会随着调整大小而改变。它只是重新分配矩形内的额外空间。

关于第 3 点的注释。当 SizeStyle 为 Percent 时,设置多列或多行的 Value 属性...可以在 IDE 中使用。你必须做很多次......每次价值接近你的要求。截至柏林,这还没有解决(我没有东京)。如果您不想这样做,您可以直接编辑 dfm 并写入值;)


推荐阅读