主播:= [akCenter]?

时间:2012-09-27 05:09:02

标签: delphi alignment anchor centering

如何将控件置于其父级中心?如何在父母调整大小时保持居中?

我知道我可以编写Parent.OnResize事件处理程序来手动移动控件,但并非所有容器组件都有OnResize事件,我想自动执行此操作。

是否有akCenter锚点?

1 个答案:

答案 0 :(得分:26)

akCenter不存在。但是您可以通过将anchors属性设置为空来模仿akRelative,这会导致父级调整大小时控件的相对移动。将其与居中放置相结合将产生一个中心相似的“锚”。

在设计时水平居中:

  • 在IDE中,选择控件的上下文菜单(右键单击),
  • 位置>对齐>水平>窗口中心
  • 在对象检查器中设置Anchors.akLeft := FalseAnchors.akRight := False
  • Etvoilà:akHorzCenter

纵向也是如此,在这种情况下,您设置akTopakBottom false。以两个方向为中心:Anchors := []

Animation of akRelative in action

免责声明:我没有找到这个锚用法的文档,我不知道这是否是预期的功能,但它在D7和XE2中都非常好用。