主播:= [akCenter]?

NGL*_*GLN 14 delphi anchor alignment centering

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

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

akCenter锚吗?

NGL*_*GLN 26

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

在设计时水平居中:

  • 在IDE中,选择控件的上下文菜单(右键单击),
  • 位置>对齐>水平>窗口中心,
  • 设置Anchors.akLeft := False,Anchors.akRight := False在Object Inspector,
  • 等瞧:akHorzCenter.

这同样适用于垂直,在这种情况下,您设置akTopakBottom错误的.以两个方向为中心:Anchors := [].

动作中的akRelative动画

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

  • +1这很整洁,谢谢你教给我一些我不知道的新东西. (5认同)