怎样动态改变form上组件的大小?(20分)

  • 主题发起人 主题发起人 845355
  • 开始时间 开始时间
8

845355

Unregistered / Unconfirmed
GUEST, unregistred user!
form1上从上到下依次有scrollbox1,toolbar1,Memo1
首先,form1大小变化时,memo1始终在form1的最底部,toolbar1在它上面,大小不变,而scrollbox1随form1的大小,始终充满在上面的其余部分.
另外点击菜单N1,scrollbox1会扩充到原来toolbar1的位置,把toolbar1遮住了.
要如何实现?
 
设置好各个控件的Align就可以了
 
在OnResize事件处理函数中自己设置大小(通过调整width、height)
 
OnResize事件中首先确认toolbar1的TOP,比如说FORM1高度的1/2,然后其他两个控件的高度也可以确定了,如果不要tollbar1,先确定上下分界线,再设定控件高度。
 
同意nicai_wgl
 
静态设置各个控件的Align属性既可!不必动态改变就可以实现你的需求!设置如下:
memo1.Align := alBottom;
toolbar1.Align := alTop;
scrollbox1.Align := alClient;
(我写的是动态的,不过静态设置就可以了。要是要动态改变,就把以上代码添加到Form1的OnCreate事件里就可以了)
 
toolbar1.width:=scrollbox1.width
 
在程序中设置各个控件和截面的比例关系就可以了
 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
911
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部