|
实现让窗口能随显示分辨率的变化而自动变化
这是实现让窗口能随显示分辨率的变化而自动变化,你跟据这些去修改。 在表单的INIT事件中添加一段代码,便可以适应不同解析度下运行表单使其及所含对象均可适应!就是把当前解析度与设计是的解析度做比较,有一个比系数,然后使表单及其所含对象的位置属性(LEFT,TOP)、及尺寸属性(WIDTH,HIGTH)随此系数做调整。 ******下面代码调整适应解析度**************************************************** Local OldHeight,OldWidth,ChangeHeight,ChangeWidth OldHeight=600 OldWidth =800 ChangeHeight=0 ChangeWidth=0
IF SYSMETRIC(1)#OldWidth THISFORM.Lockscreen=.F. &&详情查阅LockScreen属性 ChangeHeight=Sysmetric(2)/OldHeight ChangeWidth=Sysmetric(1)/OldWidth **变动表单外框 IF This.BaseClass='Form' WITH THIS .Height=.Height*ChangeHeight .Width =.Width*ChangeWidth .Top =.Top*ChangeHeight .Left =.Left*ChangeWidth ENDWITH ENDIF **变动表单内所有控件的大小和位置 FOR I =1 TO This.ControlCount WITH THIS.Controls(I) .Height=.Height*ChangeHeight .Width =.Width*ChangeWidth .Top =.Top*ChangeHeight .Left =.Left*ChangeWidth ENDWITH ENDFOR Thisform.Lockscreen=.F. ENDIF THISFORM.REFRESH ********调整解析度结束*****************************
|