C++ Builder 使用控件的 Anchors 属性自动调整位置和大小

C++ Builder 参考手册 ➙ 使用控件的 Anchors 属性自动调整位置和大小


C++ Builder 几乎所有可以显示在 Form 上的控件都有 Anchors 锚点属性。

控件的 Anchors 属性

Anchors 锚点属性包含上下左右4项,是把控件的上下左右边分别 “锚” 在窗口对应的边上,即这个边与窗口的边的距离不变。

锚点 说明
akLeft 控件的左边和窗口的左边保持距离不变
akTop 控件的上边和窗口的上边保持距离不变
akRight 控件的右边和窗口的右边保持距离不变
akBottom 控件的下边和窗口的下边保持距离不变

这些属性可以多选,打勾有效。默认情况,控件的左、上锚点选中,控件的大小不变,那么控件就保持和窗口的左上角相对位置固定。

左右方向:如果左右都选中,那么控件的左右都被 “锚住”,宽度随窗口的宽度变化而改变,否则控件的宽度不变,具体如下表格:

akLeft akRight 说明
[√] [ ] 控件和窗口左边保持距离不变,宽度不变
[ ] [√] 控件和窗口右边保持距离不变,宽度不变
[√] [√] 控件和窗口左边、右边都保持距离不变,宽度可变
[ ] [ ] 控件和窗口左边、右边距离的比例不变,宽度不变

上下方向:如果上下都被选中,那么控件的上下都被 “锚住”,高度随窗口的高度变化而变化,否则控件的高度不变,具体如下表格:

akTop akBottom 说明
[√] [ ] 控件和窗口上边保持距离不变,宽度不变
[ ] [√] 控件和窗口下边保持距离不变,宽度不变
[√] [√] 控件和窗口上边、下边都保持距离不变,高度可变
[ ] [ ] 控件和窗口上边、下边距离的比例不变,高度不变

例子:使用 Anchors 属性,当窗口的大小改变时,让右边的按钮始终在窗口的右边,Button4 始终在右下角,Edit1 始终在下面,宽度自动调整,Memo1 随窗口的大小自动调整占满其余部分。

使用 Anchors 属性的例子
锚点 Memo1 Edit1 Button1 Button2 Button3 Button4
akLeft [√] [√] [ ] [ ] [ ] [ ]
akTop [√] [ ] [√] [√] [√] [ ]
akRight [√] [√] [√] [√] [√] [√]
akBottom [√] [√] [ ] [ ] [ ] [√]

这些锚点属性设置完成之后,运行程序,效果如下:

运行时的效果:缩小窗口
运行时的效果:放大窗口

用代码设置和修改 Anchors 锚点属性的方法:

Edit1 的锚点设置为 akLeft、akRight 和 akBottom:
Edit1->Anchors = TAnchors() << akLeft << akRight << akBottom;

Edit1 的锚点在原有基础上去掉 akTop,添加 akRight 和 akBottom:
Edit1->Anchors = Edit1->Anchors >> akTop << akRight << akBottom;


相关:

  • 使用控件的 Align 属性自动调整位置和大小
  • 枚举窗口内所有的控件
  • 枚举控件所有的属性、事件和方法
  • VCL 类继承关系

C++ Builder 参考手册 ➙ 使用控件的 Anchors 属性自动调整位置和大小

你可能感兴趣的:(C++ Builder 使用控件的 Anchors 属性自动调整位置和大小)