PowerBuilder修改后代对象 - 第八基地

软件开发的家园,编程爱好者的天地.

现在是:北京时间 2016/4/14 上午11:50:51 星期四

设为首页  |  加入收藏  |  网站地图

PowerBuilder修改后代对象
发布于:第八基地 来源:互联网 作者:天堂路上 时间:2011-10-18 点击:88
10.3修改后代对象

继承祖先窗口并不是我们的目的。使用继承特性的目的是将多个类似对象的一些共同的特性定义在祖先对象当中,然后通过继承这个祖先对象使后代对象获得这些共同的特性,完成继承工作之后,还有一个重要的工作就是通过修改这些后代对象使它们获得自己独特的功能,从而完成这些后代对象本身的任务。

下面我们就通过一个例子来说明如何实现这种修改。首先打开一个后代窗口。现在这个窗口和祖先窗口是完全相同的。如图10-6。

图10-6

祖先窗口的功能是显示数据库当中所有的体育明星的资料,我们希望修改后代窗口,使之只显示足球明星的资料。

选择静态文本对象,在它上面单击鼠标右键,弹出菜单,选择PROPERTIES命令,把TEXT一栏中的内容修改为“足球明星”。删去我们不想要的按钮。如图10-7。

图10-7

如果您想把已经修改的属性重设为祖先窗口中的内容,只要选择EDIT菜单当中的RESETPROPERTIES重置属性命令就可以了。在数据窗口对象的下面我们就修改数据窗口的脚本,使之具有新的功能。

图10-8

在数据窗口上面单击鼠标的右键,弹出菜单,选择SCRIPT命令,打开编写脚本工作区,我们看到,这时工作区的内容是空的。如图10-8。

图10-9

单击SELECTEVENT事件选择列表框,选择需要编写脚本的事件。您可以看到所有事件的列表,左边有一个小图标的事件是祖先对象当中已经存在脚本的。如图10-9。

选择CLICKED单击事件。

图10-10

这时,工作区当中仍然是空的,如果您想显示祖先的脚本,可以选择DESIGN菜单中的DISPLAYANCESTORSCRIPT显示祖先脚本命令,这样做可以弹出一个对话框,里面显示了祖先的脚本,获得一些提示。如图10-10。

关闭这个对话框。处理后代脚本和祖先脚本的关系有两种方法,一种是重载祖先的脚本,就是说重新编写一段脚本,使之取代祖先中相应的脚本。比方说,我们在这里输入一段脚本:

STRINGSYNTAX,SQLSTR,ERRMSG

SQLSTR="SELECTSOCCER.NAME,SOCCER.AGE,SOCCER.CLUB,SOCCER.NATION"&

"FROMSOCCER"

CONNECTUSINGSQLCA;

SYNTAX=SQLCA.SYNTAXFROMSQL(SQLSTR,"STYLE(TYPE=GRID)",ERRMSG)

dw_1.CREATE(SYNTAX,ERRMSG)

dw_1.Modify("name.Width=390")

dw_1.Modify("age.Width=140")

dw_1.Modify("club.Width=400")

dw_1.Modify("nation.Width=260")

dw_1.SetTransObject(SQLCA)

dw_1.RETRIEVE()

然后在DESIGN窗口当中选择OVERRIDEANCESTORSCRIPT重载祖先脚本命令,就可以了。

另外一种是扩展祖先的脚本,意思是在祖先脚本基础之上增加一段脚本,这样在程序运行的时候,就首先调用祖先的脚本,然后再执行我们所增加的脚本。如果您希望使用这种方式,就需要在写好脚本之后,选择DESIGN菜单当中的EXTENDANCESTORSCRIPT扩展祖先脚本命令。

在PowerBuilder当中,继承的层次可以有多层,就是说一个后代对象可以有父亲、爷爷或者更高层次的祖先。在为后代对象编写脚本的时候,我们可以调用任何祖先对象当中已经写好的脚本。比方说调用为父对象当中的CLICKED单击事件编写的脚本,可以输入下面这样的代码。

对我有帮助
(0)
0%
对我没帮助
(0)
0%
返回顶部
在线反馈
在线反馈