怎样使delphi里的控件随窗体的大小变化而变化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样使delphi里的控件随窗体的大小变化而变化相关的知识,希望对你有一定的参考价值。

就比如新建一个窗体,里面添加许多控件,窗体刚开始比较小,等最大化或者运行全屏时,控件的大小和位置一点都不变,显的很不对称。试了许多方法也不行,只有提问了。

你应该在添加控件之前,先在窗体里面添加一些PANEL控件或者groupbox控件,把窗体分割成不同的区,然后在这些区里面再放你需要的控件。这些panel或groupbox可以设置他们的ALIGN属性为ALLEFT,ALRIGHT,Altop,ALCLIENT等等,这样当窗体变化时它们可以自动调节大小,如果效果还不好,可以再在这些panel里面再添加多个panel来进一步分割,以此类推就可以,如果嫌panel的边框不好看,可以把里面panel的bevelouter属性设置为bvNone就可以了。
如果有更高的比例要求,就在窗体的onsize事件里面,设定各种panel的宽度高度就可以了。
参考技术A 控件的Object Inspector中设置Anchors

如果最大化时需要向右延伸则
akRight:=true
参考技术B 在窗体的onsize事件里自己计算。或者使用splitter分割,每个控件设置alain属性

以上是关于怎样使delphi里的控件随窗体的大小变化而变化的主要内容,如果未能解决你的问题,请参考以下文章

VB中如何设置窗体内控件大小随窗体大小改变而改变?

C#控件的位置和大小随窗体大小的变化而变化

MFC中TabCtrl控件怎么随着窗体的大小变化而变化?

MFC中TabCtrl控件怎么随着窗体的大小变化而变化?

delphi 中运行后窗口会被人为的拉大或者缩小,问题是,如何获取变化后的窗口大小的值?

vb中如何使窗体和控件的相对位置不发生改变