锚点:= [akCenter]?

Posted

技术标签:

【中文标题】锚点:= [akCenter]?【英文标题】:Anchors := [akCenter]? 【发布时间】:2012-09-18 19:55:18 【问题描述】:

如何在其父控件中居中?以及如何在父级调整大小时保持居中?

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

akCenter锚点吗?

【问题讨论】:

在 OnResize 事件中改变布局会导致闪烁。我们需要在表单重绘之前重新计算布局。 【参考方案1】:

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

在设计时水平居中:

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

垂直也是如此,在这种情况下,您将 akTopakBottom 设置为 false。双向居中:Anchors := []

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

【讨论】:

+1 这很好,感谢您教给我一些我不知道的新知识。

以上是关于锚点:= [akCenter]?的主要内容,如果未能解决你的问题,请参考以下文章

js 定位到某个锚点的方法

ai里的锚点可以分为哪四种

photoshop,钢笔工具锚点类型

如何将对象从锚点移动到锚点?

HTML中的锚点以及锚点的设置与应用

请教一个HTML超链接锚点的问题