vb界面如何随分辨率改变而改变

来源:百度知道 编辑:UC知道 时间:2024/09/25 19:07:41
我做了个VB界面是1024*768的,放在800*600下运行时界面只显示了一部分,放在1280*1024分辨率下控件挤在了左上角,右下角的空间是浪费的,请问有没有什么好办法可以让界面随着分辨率大小改变而做相应的变化呢,让人看起来舒服?

让控件坐标以屏幕坐标为准。VB有个 Screen 类。 在代码窗口 输入Screen. 即可查看其属性和方法。
剩下的就是等你发挥了...
祝你好运!

别人刚告诉我...
给你个通用的,自己写的。适用于所有带Move方法的控件。
直接粘贴代码即可。
Private Sub Form_Load()
For Each Control In Controls
Control.Tag = Join(Array(Control.Left, Control.Top, Control.Width, Control.Height))
Next
Tag = Join(Array(Width, Height))
End Sub

Private Sub Form_Resize()
Dim sF, sC
sF = Split(Tag)
For Each Control In Controls
sC = Split(Control.Tag)
Control.Move Width / sF(0) * sC(0), Height / sF(1) * sC(1), Width / sF(0) * sC(2), Height / sF(1) * sC(3)
Next
For Each Control In Controls
Control.Tag = Join(Array(Control.Left, Control.Top, Control.Width, Control.Height))
Next
Tag = Join(Array(Width, Height))

End Sub

Private FormOldWidth As Long
Private FormOldHeight As Long

Public Sub ResizeInit(FormName As Form)
On Error Resume Next
Dim Obj As