PB窗口在不同屏幕分辨率下的自适应调整

PowerBuilder在数据库系统开发中,以其独特的、强大的数据窗口功能,得到了广大程序员的喜爱,但用户在使用中,却时常发现系统中的窗口要么太大,部分内容在屏幕上显示不下,要么窗口过小,在屏幕中显得不够美观,造成这种情况的原因是程序员和用户所使用计算机的屏幕分辨率不一致。本文介绍了如何使PB中的窗口大小能根据屏幕分辨率自动调整,同时保持窗口中的控件的相对位置、大小不变。 

 

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下运行通过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值