如何将控件置于其父控件中?当父级调整大小时如何保持居中?
我知道我可以编写一个 Parent.OnResize
事件处理程序来手动移动控件,但并非所有容器组件都有 OnResize
事件,我想这样做自动执行此操作。
有 akCenter
anchor 吗?
最佳答案
anchor akCenter
不存在。但是您可以通过将anchors属性设置为空来模仿akRelative,这会导致在父级调整大小时控件发生相对移动。将其与居中放置相结合将产生居中的“ anchor ”。
在设计时水平居中:
- 在 IDE 中,选择控件的上下文菜单(右键单击),
- 位置 > 对齐 > 水平 > 窗口中心,
- 在对象检查器中设置
Anchors.akLeft := False
、Anchors.akRight := False
, - 瞧:
akHorzCenter
。
垂直方向也是如此,在这种情况下,您将 akTop
和 akBottom
设置为 false。要在两个方向上居中:Anchors := []
。
免责声明:我还没有找到此 anchor 用法的文档,我不知道这是否是预期的功能,但它在 D7 和 XE2 中都运行得很好。
关于delphi - anchor := [akCenter]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12614453/