欢迎来到天天文库
浏览记录
ID:57721746
大小:14.00 KB
页数:2页
时间:2020-09-02
《使vb窗体可以自适应屏幕分辨率的大小.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、使vb窗体可以自适应屏幕分辨率的大小OptionExplicitPrivateObjOldWidthAsLong'保存窗体的原始宽度PrivateObjOldHeightAsLong'保存窗体的原始高度PrivateObjOldFontAsSingle'保存窗体的原始字体比'在调用ResizeForm前先调用本函数PublicSubResizeInit(FormNameAsForm)DimObjAsControlObjOldWidth=FormName.ScaleWidthObjOldHeight=FormName.ScaleHeightObjOldFo
2、nt=FormName.Font.Size/ObjOldHeightOnErrorResumeNextForEachObjInFormNameObj.Tag=Obj.Left&""&Obj.Top&""&Obj.Width&""&Obj.Height&""NextObjOnErrorGoTo0EndSub'按比例改变表单内各元件的大小,'在调用ReSizeForm前先调用ReSizeInit函数PublicSubResizeForm(FormNameAsForm)DimPos(4)AsDoubleDimiAsLong,TempPosAsLong,Star
3、tPosAsLongDimObjAsControlDimScaleXAsDouble,ScaleYAsDoubleScaleX=FormName.ScaleWidth/ObjOldWidth'保存窗体宽度缩放比例ScaleY=FormName.ScaleHeight/ObjOldHeight'保存窗体高度缩放比例OnErrorResumeNextForEachObjInFormNameStartPos=1Fori=0To4'读取控件的原始位置与大小TempPos=InStr(StartPos,Obj.Tag,"",vbTextCompare)IfTemp
4、Pos>0ThenPos(i)=Mid(Obj.Tag,StartPos,TempPos-StartPos)StartPos=TempPos+1ElsePos(i)=0EndIf'根据控件的原始位置及窗体改变大'小的比例对控件重新定位与改变大小Obj.MovePos(0)*ScaleX,Pos(1)*ScaleY,Pos(2)*ScaleX,Pos(3)*ScaleYObj.Font.Size=ObjOldFont*FormName.ScaleHeightNextiNextObjOnErrorGoTo0EndSubPrivateSubForm_Resiz
5、e()'确保窗体改变时控件随之改变CallResizeForm(Me)EndSubPrivateSubForm_Load()'在程序装入时必须加入CallResizeInit(Me)EndSub
此文档下载收益归作者所有