怎样可以使程序界面随显示器分辨率大小变化?
解决方案 »
- 求教:VB的问题
- 为什么MDIForm子窗体在MDIForm中运行时,子窗体的宽和高都变了?
- 怎么样取得一个表中的某个字段,存入vb的变量?
- Active DLL中如何传递"用户自定义类型",高人Help Me.
- 我现在做了个假菜单,就是在Button上弹出一个弹出式菜单,可是这个位置怎么定啊,我想和buton平行,就像真菜单一样,现在我把这个菜单做
- 关于帮助文件载入的问题??(在线等待)
- 急!急!急! 阿紧急求助!!!!图片如何正确显示!!!!
- 呵呵,又来送分了!如果是好的例子不够再加分!决不食言!
- 为什么169不能上csdn?
- 高分相送
- 请教一个判定输入数据是否是日期型的问题
- VB中有没有生成饼图,直方图的控件?在哪里可以找到?
在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