| 网站首页 | 技术文章 | 下载频道 | 博客 | 编程论坛 |
 
| 技术教程首页 | 开发语言 | WEB开发 | .NET技术 | 数据库 | 操作系统 | 网页制作 |
 
 
您现在的位置: 编程中国 >> 技术教程 >> 数据库 >> PowerBuilder >> PB技术资料 >> 正文
  ►  PowerBuilder实用技巧八则
PowerBuilder实用技巧八则
作者:佚名    阅读人次:……    文章来源:未知    发布时间:2006/1/29    网友评论()条
 

  一、实现运行窗口居中

  众所周知,PowerBuilder 7.0在以前的版本中提供了图形化的预览工具,可以很方便的在设计阶段实现窗口居中。但是,到了7.0似乎该项工具被取消了,也没有什么属性来设置,至少我没有找到。每当我们需要将窗口居中的时候只有一点一点地调整它的X,Y值,这一点十分让人头痛。出于无奈,只好通过编程实现。我们只在每个需要居中的窗口的Open事件中写上这些代码就会实现窗口的自动居中。

  要实现窗口的自动居中,我们可以用函数Move()来实现。但是,由于我们开发出来的应用程序往往会在不同的设置环境中运行,虽然一般情况下是由我们为用户配置好的,但我们总不能保证用户显示器的设置模式不会改变。所幸的是,PB为我们提供了环境对象Environment,该对象其实是一个系统结构,其中保存了PB应用程序的运行平台信息,例如,代码集,CPU类型等。其中当然会有我们需要的屏幕宽和高。为了得到该结构我们可以用函数GetEnvironment()。该函数的作用是得到关于操作系统,处理器和屏幕的系统信息。具体用法如下:

  Environment my_system

  Integer li_ScreenWidth, li_ScreenHeight

  GetEnvironment(my_system)

  // 得到屏幕的总宽度和长度

  li_ScreenWidth = PixelsToUnits(my_system.ScreenWidth, XPixelsToUnits!)

  li_ScreenHeight = PixelsToUnits(my_system.ScreenHeight, XPixelsToUnits!)

  // 函数PixelsToUnits()的作用是将屏幕的像数转换成PowerBuilder使用的单位,因为像数通常不用于方形中,具体用法请参见函数手册。

  然后就可以用Move()来实现窗口居中。

  This.Move((li_ScreenWidth - this.Width)/2, &

   (li_ScreenHeight - this.Height)/2 )

  二、数据窗口中实现字段的组合

  你有没有碰到这样的情况,我们输入了客户的详细地址资料,包括省份,城市,地址,邮编。当我们要给客户们邮寄信函时需要将他们的省份,城市,地址,邮编连成在一起打印出来。然而,这些信息是分开存储的,即存在不同的字段。这时我们就可以利用PowerBuiler提供的在数据窗口添加计算域(Compute Field)来实现字符字段的组合显示。

  现在假设客户的省份,城市,地址,邮编分别存放在不同的字段中,它们是Province,City,Address,PC。我们要得到“邮编+省份+城市+地址”的格式,如:“(214001)江苏省无锡市人民路1号。",具体实现如下:

  1、在需要显示的位置添加一个计算域(Compute Field)

  2、在它的表达式栏中写上“ '(' + PC + ' )' + Province + City + Address ”

  3、单击确定完成。

  很容易是不是。需要提醒大家的是,计算域只能用来显示,不能对它进行修改,因为它没有TAB属性,不能得到焦点。

[1] [2] [3] 下一页

 

 
文章录入:静夜思    责任编辑:静夜思 
  • 上一篇文章:

  • 下一篇文章:

  •  
    相关文章
    原创地带
    24小时热门帖子