C++Builder中怎样实现控件的大小随着窗体的大小改变?

时间:2021-01-17 03:50:12
C++Builder中怎样实现控件的大小随着窗体的大小改变?

11 个解决方案

#1


什么意思?
Align = alClient ???

#2


Anchors属性里的都设为true

#3


有两种方法: 
1.自己编程控制。在窗体的OnResize事件中写入代码,当窗口大小变化时,这些代码会执行,从而改变控制控件的大小。
2.使用控件的Align和Anchors属性,Align用来控制控件停靠在父控件(窗体)的哪个位置,如左边(alLeft),上面(alTop)等,Anchors控制控件的哪条边在父控件(窗体)大小改变时相对位置不变,这个属性不太好控制,可以自己试试。

#4


Anchors属性里的都设为true我试了一下,按钮变得老大,文本框都没得看了。

#5


好像很难做到

#6


不自己动手写一大段程序,恐怕不会有很简便的方法吧?

#7


Anchors属性里的都设为true

#8


Anchors属性里的都设为true 就可以了
如果希望上下大小变化,则把Top Button设置为ture, 如果希望左右则把left 和 right设置为true
自己玩下 就知道

#9


ScaleBy(int M, int D);
缩放控件大小至原来的M/D,但对Form及Font无效
如果窗口的属性 BorderStyle==
bsSizeable 或 BorderStyle==bsSizeToolWin,并且 AutoScroll==true
时,Form 本身的大小不会改变;否则窗口的大小也会自动改变。也就是:
if (AutoScroll && (Form->BorderStyle==bsSizeable
    || Form->BorderStyle==bsSizeToolWin))
    Form 本身的大小不会改变
else
    Form 本身的大小会跟着ScaleBy改变

以上摘自季世平发的一篇关于讨论窗体改变的帖子中
楼主可以找找看

#10


up

#11


写一段代码吧。这又不是什么难事。
最好连屏幕分辩率变化也一并解决。
我就这样做过。不过是为打印。跟你的问题不完全一样。

#1


什么意思?
Align = alClient ???

#2


Anchors属性里的都设为true

#3


有两种方法: 
1.自己编程控制。在窗体的OnResize事件中写入代码,当窗口大小变化时,这些代码会执行,从而改变控制控件的大小。
2.使用控件的Align和Anchors属性,Align用来控制控件停靠在父控件(窗体)的哪个位置,如左边(alLeft),上面(alTop)等,Anchors控制控件的哪条边在父控件(窗体)大小改变时相对位置不变,这个属性不太好控制,可以自己试试。

#4


Anchors属性里的都设为true我试了一下,按钮变得老大,文本框都没得看了。

#5


好像很难做到

#6


不自己动手写一大段程序,恐怕不会有很简便的方法吧?

#7


Anchors属性里的都设为true

#8


Anchors属性里的都设为true 就可以了
如果希望上下大小变化,则把Top Button设置为ture, 如果希望左右则把left 和 right设置为true
自己玩下 就知道

#9


ScaleBy(int M, int D);
缩放控件大小至原来的M/D,但对Form及Font无效
如果窗口的属性 BorderStyle==
bsSizeable 或 BorderStyle==bsSizeToolWin,并且 AutoScroll==true
时,Form 本身的大小不会改变;否则窗口的大小也会自动改变。也就是:
if (AutoScroll && (Form->BorderStyle==bsSizeable
    || Form->BorderStyle==bsSizeToolWin))
    Form 本身的大小不会改变
else
    Form 本身的大小会跟着ScaleBy改变

以上摘自季世平发的一篇关于讨论窗体改变的帖子中
楼主可以找找看

#10


up

#11


写一段代码吧。这又不是什么难事。
最好连屏幕分辩率变化也一并解决。
我就这样做过。不过是为打印。跟你的问题不完全一样。