Private Sub Form_Resize () dim control1 as control,m1 as single,m2 as single m1=form.width/form.width(改变前的) m2=form.height/form.height(改变前的) for each control1 in form.controls control1.left=control1.left*m1 control1.top=control1.top*m2 control1.height=control1.height*m2 control1.width=control1.width*m1 next End Sub
本例在任何调整窗体大小时的时候,都将自动调整一个 TextBox 控件的大小以填充该窗体。要尝试这个例子,可以将代码粘贴到包含 TextBox 的窗体声明部分。 设置 TextBox 控件的 MultiLine 属性为 True,ScrollBars 属性为 3,BorderStyle 属性为 0,然后按F5键并调整窗体大小。Private Sub Form_Load ()
Text1.Text = "" ' 清除文本。
End SubPrivate Sub Form_Resize ()
Text1.Move 0,0, ScaleWidth, ScaleHeight
End Sub
2.要达到这种效果,窗体中的控件不要太复杂,如果太多,控制起来会不太方便,指代码较多;
3.注意特殊处理,如窗体最小话后。
自己试试啦。
在窗体的resize 事件中
把这些变量重新设置.
记住使用窗体长宽高的百分比来代替实际坐标.
设置控件间的位置是相对的,
例:LABEL1。TOP=FORM1。HEIGHT/2
另外要加一句 NO ERROR RESUME NEXT
在窗体最小化时就不会出错!
包括字体的大小!很好用,以前在vb憩园好象有,vb2000好象有?
Delphi或Bcb中,只是设定一个Form的属性就全部OK:-)
dim control1 as control,m1 as single,m2 as single
m1=form.width/form.width(改变前的)
m2=form.height/form.height(改变前的)
for each control1 in form.controls
control1.left=control1.left*m1
control1.top=control1.top*m2
control1.height=control1.height*m2
control1.width=control1.width*m1
next
End Sub