怎样可以使程序界面随显示器分辨率大小变化?

解决方案 »

  1.   

    下面是一个模块
    在form_load中调用函数ResizeInit
    在form_resize中调用函数ResizeForm'模块内容开始
    public FormOldWidth as long
    public FormOldHeight as longpublic Sub ResizeInit(FormName as form)   '记录窗体及各控件原始位置及尺寸
    Dim Obj As ControlFormOldWidth = FormName.ScaleWidth
    FormOldHeight = FormName.ScaleHeightOn Error Resume Next
    For Each Obj In FormName
        Obj.Tag = Obj.Left & " " & Obj.Top & " " & Obj.Width & " " & Obj.Height & " "
    Next Obj
    End Subpublic Sub ResizeForm(FormName as form)  '当窗体大小发生变化时,各控件尺寸及位置作相应变化
    Dim Pos    '控件原先尺寸、位置
    Dim I As Long  '计数器
    Dim Obj As Control   '遍历窗体内控件
    Dim ScaleX As Double, ScaleY As Double   '缩放比例ScaleX = Me.ScaleWidth / FormOldWidthScaleY = Me.ScaleHeight / FormOldHeightOn Error Resume NextFor Each Obj In Me
        Pos = Split(Obj.Tag, " ", , vbTextCompare)
        Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
    Next Obj
    End Sub