C++ Builder 参考手册 ➙ 使用控件的 Anchors 属性自动调整位置和大小
C++ Builder 几乎所有可以显示在 Form 上的控件都有 Anchors 锚点属性。
Anchors 锚点属性包含上下左右4项,是把控件的上下左右边分别 “锚” 在窗口对应的边上,即这个边与窗口的边的距离不变。
锚点 | 说明 |
---|---|
akLeft | 控件的左边和窗口的左边保持距离不变 |
akTop | 控件的上边和窗口的上边保持距离不变 |
akRight | 控件的右边和窗口的右边保持距离不变 |
akBottom | 控件的下边和窗口的下边保持距离不变 |
这些属性可以多选,打勾有效。默认情况,控件的左、上锚点选中,控件的大小不变,那么控件就保持和窗口的左上角相对位置固定。
左右方向:如果左右都选中,那么控件的左右都被 “锚住”,宽度随窗口的宽度变化而改变,否则控件的宽度不变,具体如下表格:
akLeft | akRight | 说明 |
---|---|---|
[√] |
[ ] |
控件和窗口左边保持距离不变,宽度不变 |
[ ] |
[√] |
控件和窗口右边保持距离不变,宽度不变 |
[√] |
[√] |
控件和窗口左边、右边都保持距离不变,宽度可变 |
[ ] |
[ ] |
控件和窗口左边、右边距离的比例不变,宽度不变 |
上下方向:如果上下都被选中,那么控件的上下都被 “锚住”,高度随窗口的高度变化而变化,否则控件的高度不变,具体如下表格:
akTop | akBottom | 说明 |
---|---|---|
[√] |
[ ] |
控件和窗口上边保持距离不变,宽度不变 |
[ ] |
[√] |
控件和窗口下边保持距离不变,宽度不变 |
[√] |
[√] |
控件和窗口上边、下边都保持距离不变,高度可变 |
[ ] |
[ ] |
控件和窗口上边、下边距离的比例不变,高度不变 |
例子:使用 Anchors 属性,当窗口的大小改变时,让右边的按钮始终在窗口的右边,Button4 始终在右下角,Edit1 始终在下面,宽度自动调整,Memo1 随窗口的大小自动调整占满其余部分。
锚点 | 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;
相关:
C++ Builder 参考手册 ➙ 使用控件的 Anchors 属性自动调整位置和大小