如何让这些控件大小都随窗体的改变而改变
请教高手,在窗口(窗口里的图片设为铺满窗体)设计里的如下控件,Label1、Label2、Command1、Command2、Command3,如何让这些控件大小都随窗体的改变而改变 --------------------编程问答-------------------- 以下代码保存到ModAutoSize:'*************************************************************************--------------------编程问答-------------------- 老马 的这个模块很经典啊! 非常实用
'**模 块 名:ModAutoSize
'**说 明:自动调整窗体控件大小及位置
'**创 建 人:马大哈 紫水晶工作室 版权所有
'**日 期:2003年12月17日
'**备 注: 摘于网络
'**版 本:V1.0
'*************************************************************************
'' 在Form_Load里面调用:
'' ControlAutoSize Me,0
'' 在Form_Resize里面调用:
'' ControlAutoSize Me,1
''**********************************
'
Option Explicit
Private Type cP
Wp As Single
Hp As Single
Tp As Single
Lp As Single
End Type
Dim Ap() As cP
Private Sub Ai(ByRef mForm As Form)
On Error Resume Next
Dim I As Integer
For I = 0 To mForm.Controls.Count - 1
With Ap(I)
.Wp = mForm.Controls(I).Width / mForm.Width
.Hp = mForm.Controls(I).Height / mForm.Height
.Lp = mForm.Controls(I).Left / mForm.Width
.Tp = mForm.Controls(I).top / mForm.Height
End With
Next I
End Sub
Public Function ControlAutoSize(ByRef mForm As Form, ByVal OptIndex As Long)
Select Case OptIndex
Case 0
mForm.Height = mForm.ScaleHeight
ReDim Ap(0 To mForm.Controls.Count - 1)
Call Ai(mForm)
Case Else
Dim I As Integer
On Error Resume Next
With mForm
For I = 0 To .Controls.Count - 1
.Controls(I).Move Ap(I).Lp * .ScaleWidth, _
Ap(I).Tp * .ScaleHeight, _
Ap(I).Wp * .ScaleWidth, _
Ap(I).Hp * .ScaleHeight
Next I
End With
End Select
End Function
^_^ --------------------编程问答-------------------- 一_一b摘于网络...不是我写的...
我没有这样的需求....
多数情况下,界面搞成这种效果会很难看的. --------------------编程问答-------------------- mark
老马有收到送你的可用分了么 --------------------编程问答-------------------- 收到了~~~~~感谢呀~~~~不过被CSDN抽了100的成,哈哈. --------------------编程问答-------------------- 我是懒得散呢 知道你喜欢散分给大家哈 --------------------编程问答-------------------- 没办法~~VB版没什么人气~~
用我的分把人气顶起来吧....
社区嘛,就是要人多才热闹... --------------------编程问答-------------------- 我都是在Form_Resize()事件中,用代码一句句重新设置的
--------------------编程问答-------------------- 根据自己在画好了的控件中 计算百分比
主要计算
控件.top/窗体.height
控件.left/窗体.width
控件.height/窗体.height
控件.width/窗体.width
计算出来后 就这样写
Private Sub Form_Resize()
With Command1
.Left = ScaleHeight * 0.5
.Top = ScaleWidth * 0.1
.Height = ScaleHeight * 0.5
.Width = ScaleWidth * 0.5
End With
End Sub
只要最开始算一次百分比
补充:VB , 基础类