转载 来源http://www.study01job.com文章库 PB论坛
在一定的屏幕分辨率下开发的应用程序到别的计算机上运行时,很可能遇到和开发环境中的分辨率不同的情况,这时要保证窗口界面仍然显示居中,就得在开发时考虑这个问题。解决方法是在窗口打开时判断屏幕的分辨率,根据分辨率来决定窗口显示的位置。要用到两个单位换算函数和一个获取运行环境信息的函数。
在PowerBuilder中所有尺度都是用PowerBuilder单位(PBU)计量的,惟一例外是Window和DataWindow画板网格尺寸,这是用像素计量。PowerBuilder中的计量使用和Windows中相同的技术,都是基于系统字体。不同的是,Windows中采用系统字体宽度的1/4和高度的1/8,而PowerBuilder中采用系统字体宽度的1/32和高度的1/64,从而可以提供比Windows中更高的分辨率。但是,用户在PowerBuilder应用程序中调用外部函数来获取对象的尺寸或位置时就应该进行相应的转换。好在PowerBuilder本身也提供了进行单位换算的函数,所以应该尽量使用PowerBuilder本身的单位换算函数。
函数UnitsToPixels()用于将PBU值换算成像素值。它的语法格式是:
UnitsToPixels ( units, type )
其中,Units是一个整型数值,是要转换成像素值的PBU值;Type是一个ConvertType类型的枚举值,可以是:
· XUnitsToPixels! 表示要转换成水平方向上的像素值;
· YUnitsToPixels! 表示要转换成垂直方向