1.定义全局变量oldheight、newheight、oldwidth、newwidth,分别保存程序员和用户屏幕分辨率的高度和宽度,在Application的Open脚本中加入下列语句:
Environment en //定义环境变量
GetEnvironment(en) //获取环境变量值
newheight = en.ScreenHeight //取当前屏幕分辨率的高度
newwidth = en.ScreenWidth //取当前屏幕分辨率的宽度
oldheight = 480 //假设程序员屏幕分辨率为640*480
oldwidth = 640
2.在窗口的Open事件中分别调整窗口、控件的X、Y、Height、Width,保证窗口进行自适应调整,假设窗口中有一个按钮控件cb_1,脚本如下所示:
//调整窗口的坐标和大小
This.y = This.y * newheight / oldheight
This.x = This.x * newwidth / oldwidth
This.width = This.width * newwidth / oldwidth
This.height = This.height * newheight / oldheight
//调整控件的坐标和大小
Cb_1.y = Cb_1.y * newheight / oldheight
Cb_1.x = Cb_1.x * newwidth / oldwidth
Cb_1.width = Cb_1.width * newwidth / oldwidth
Cb_1.height = Cb_1.height * newheight / oldheight
如果窗口中有多个控件,可对每个控件做同样处理。通过添加上述脚本,就实现了窗口在不同分辨率下的自适应调整。本程序在Pb6.5、Windows 2000下运行通过。