【问题标题】:How do you set a control anchor with FireMonkey?如何使用 FireMonkey 设置控制锚?
【发布时间】:2011-09-16 03:46:59
【问题描述】:

FireMonkey 控件似乎不像 VCL 控件那样具有锚属性。如何让 FireMonkey 控件在窗体调整大小时自动调整?

【问题讨论】:

标签: delphi anchor firemonkey


【解决方案1】:

VCL 中的 anchors 属性显然已被 Margins 和 Padding 取代(出于性能考虑),我在 XE2 wiki 找到了一些文档。在底部面板上设置边距以创建一个较小的空间来放置按钮,确保将对齐设置为 alRight。

例如,窗体右边缘和最右边按钮之间的间隙为 15。顶部和底部边距为 12。填充与边距相反,填充将空间置于控件之外。对于最右边的按钮,我在左侧添加了 20 的填充,这将是两个按钮之间的空间。对于第二个按钮,我们只需将 align 属性设置为 alRight,无需调整 padding 或 margin。

【讨论】:

【解决方案2】:

自定义锚定可以通过堆叠一些 TLayer 来完成。例如,“将按钮与左上角对齐”之类的操作只能通过将图层向左对齐,然后将按钮(在图层中)与顶部对齐来实现。

【讨论】:

    【解决方案3】:

    Delphi XE 3anchors 提供 FireMonkey²。

    【讨论】:

      【解决方案4】:

      您可以使用 LiveBindings 和表达式来更改基于父控件的控件的属性。否则,请使用边距和填充(如 HTML/CSS)。

      【讨论】:

        【解决方案5】:
        Button1.Anchors := [TAnchorKind.akTop, TAnchorKind.akRight];
        

        【讨论】:

          猜你喜欢
          • 2014-06-28
          • 2012-12-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-28
          • 1970-01-01
          • 2016-09-09
          • 1970-01-01
          相关资源
          最近更新 更多