PowerBuilder第13讲 用户对象
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13.1.2.1 可视用户对象 可视用户对象对用户来说是可见的,可以利用窗口中的用户
对象控件将其放置在窗口上。
可视用户对象是个可重用控件或一组完成一
定功能的控件。例如,可视用户对象可以由 作为一个整体使用的几个按钮组成,每个按 钮都可以有自己的事件处理程序,完成标准 的处理功能。当这个用户对象定义之后,在 应用程序需要这种用户对象的地方就可以反 复使用它了。可视用户对象共有三种:标准可视用户对
13.2 创建用户对象
一、创建标准可视用户对象 当在“New ”对话框之“Object”选项卡中,通过双击 “Standard Visual”图标时,将打开“Select Standard Visual Type”对话框,从该对话框的 “Types”列表中选择一种标准系统可视控件即打开用 户对象画板,可视标准可视用户对象的创建。 要建立标准可视用户对象,继续下列操作: 通过单击选择要用来建立标准可视用户对象的 PowerBuilder控件类型,新建用户对象将继承所选 PowerBuilder控件的属性、事件、和函数; 2.单击“OK”按钮,进入用户对象画板工作区,相应控 件显示在工作区中。选择命令按钮(CommandButton) 时; 3.在用户对象画板工作区中可以通过拖曳改变标准可视 用户对象的大小,也可以通过双击打开该对象的属性对
象(Standard Visual)、自定义可视用户对象(Custom Visual) 和外部可视用户对象(External Visual)。
可视用户对象有三种类型: ⑴标准可视用户对象(Standard Visual User Object) 标准可视用户对象是对PowerBuilder现有控件的扩充, 它在现有控件基本功能的基础上增加应用程序需要的功能。 标准可视用户对象继承了原始控件的各种特征,包括属性、 事件和函数。 标准可视用户对象是由某一PowerBuilder的标准可视 对象继承而来的,是对PowerBuilder标准可视控件基本 功能的扩充。 例如,如果多个窗口都要用一个按钮来实现退出窗口的 功能,可以设计一个能实现此功能的标准可视用户对象, 在需要此功能按钮的窗口上放置此用户对象即可。
前面章节介绍的事务对象、Error对象、按钮、各种 各样的列表框、数据窗口控件等各类部件都是 PowerBuilder预先定义好的对象,通过把这些对象 有机地结合起来就构成了应用程序的基本框架。虽 然这些对象和控件的功能十分强大,但它们也并不 能满足应用程序的所有要求,比如,我们希望Error 对象能够返回汉字的出错提示;应用程序需要在多 个地方使用功能相似的一组控件,而我们又不希望 在多处重复编写相同的代码;应用程序的某部分要 求有很高的运行速度等。解决这些问题的一个有效 途径就是使用用户对象。
创建标准可视用户对象
打开标题为“Select Standard Visual Type”的窗口,选择所要的对象类型,点击 Ok按钮。这里我们选择commandbutton来 定制一个命令按钮用户对象。
图14-2 选择对象类型
创建标准可视用户对象
选好标准对 象类型后,将 打开用户对象 画板。该界面 和创建窗口的 界面相似。在 这里可以设置 CommandBu tton的属性如 Text、字体、 控件大小等作
使用可视用户对象
可视用户对 象定义好后, 就可以象标 准控件那样 使用。在窗 口打开后, 点击工具栏 上的控件工 具箱中的用 户 对 象 User Object 图 标
用户对象
图14-5 控件工具箱
使用可视用户对象
将出现标题为 “Select Object”的窗口, 在其中列出了当前pbl文 件中所有的用户对象, 选择一个用户对象,点 击OK按钮或直接双击所 选的用户对象。这里选 u_commandbutton。 调整用户对象在窗口中 的位置、大小,并设置 必要的属性。这样,当 焦点落在该控件上时, 按回车键将触发Click事 件。
⑵定制可视用户对象(Custom Visual User Object) 定制可视用户对象将多个控件以及可视用户对象组合成一个 整体,完成一定的功能和操作。 自定义可视用户对象是将几个PowerBuilder标准可视对象 打包成一组的对象,每个控件继承PowerBuilder标准可视 对象的属性、事件、函数。如果应用要求多个窗口上都使用 一组对象来执行相同的任务,就可以将这组对象打包成一个 自定义可视用户对象,然后进行调用。 例如,如果几个窗口都要用到插入、删除、保存按钮和一个 数据窗口控件来实现数据编辑功能,则可以将这四个控件制 成一个自定义用户对象并编写好数据编辑程序,在用到时将 该用户对象放置到窗口上即可。
13.1.2.2 类用户对象
类用户对象是不可见的,无法直接在窗口上
看到,它是通过程序来调用的。类用户对象 共有两类:标准的类用户对象(Standard Class)、自定义的类用户对象(Custom Class)。 (1).标准的类用户对象 标准的类用户对象由PowerBuilder的不可视 标准对象继承而来,通过增加标准对象的功 能,使之适用于某一特定应用。
udatastoremyds声明udatastore类型的变量mydsmydscreateudatastore创建用户对象实例mydsmydsdataobject?dusersearch?将数据窗口对象与类用户对象联系起来mydssettransobjectsqlca设置类用户对象使用的事务对mydsretrievemath检索数据据应用程序所需的其它处理destroymyds使用后删除用户对象由图833可知使用类用户对象的方法为首先声明类用户对象变量nuotrans为类用户对象类型将utrans声明为其类型的变量接下来创建该对象的实例使用create语句因为nuotrans类用户对象中包含一函数且函数带有参数因此使用时必须为其参数赋值对其函数的引用方法为
图14-3 定义可视用户对象
给该用户对象定义一个用户事件以响应 用户的回车键操作。用户事件名为 “ ue_enter” , 事 件 号 选 “pbm_keydown”。
创建标准可视用户对象
14-4 在用户对象中定义用户事件
创建标准可视用户对象
在该事件中输入代码: if KeyDown(KeyEnter!) then //如果是回车键,则触发鼠标单击事件 this.TriggerEvent(Clicked!) end if 保存该用户对象,名为u_commandbutton。 定义了一个可视用户对象u_commandbutton, 该对象除具备标准的CommandButton命令按钮 的属性、事件、函数外,还有用户自定义事件 ue_keyenter,当焦点落在该控件上时,用户按
第十三讲 用户对象
本章中主要介绍用户对象,首先介 绍用户对象的概念及分类,然后介 绍如何创建用户对象,如何使用用 户对象及用户事件,并用通过实例 进行演示。
13.1 用户对象概述
13.1.1 什么是用户对象 PowerBuilder的对象分为两类:一类是系统
提供的对象,如前面所讲的window、menu、 commandbutton等标准的对象,它们有各自 的功能、属性、事件和函数;另一类是在特 定场合用户自己定义的对象,这种对象称为 用户对象。使用用户对象可实现重用性
⑶外部可视用户对象(External Visual User Object) 外部可视用户对象是PowerBuilder以外的工具 所生成的一些可视控件,它们存储在DLL文 件之中,通常完成PowerBuilder难以完成或 不支持的功能。如果PowerBuilder应用要使 用外部可视控件,可以通过事先创建好的外 部可视用户对象来实现。
图14-6 选择用户对象
修改用户对象。 选择工具栏的 Open图标,打开 标题为“Open”的 2.选择pbl库 窗口。 在Application Libraries中选择要 修改的用户对象所 在的pbl库文件, 在对象类型Object Type中选择User Objects,选择要 修改的用户对象, 点击OK按钮或直 接双击所选的用户 对象,将打开用户 对象定义画板,如
13.1.2 用户对象分类
PowerBuilder用户对象分为两大类:可视用户对象 (Visual)和类用户对象(Class)。
PowerBuilder的用户对象分为两类六种:可视用户 对象是像按钮、编辑框那样具备可视的外观,主要 完成应用程序与用户之间的信息交流;类用户对象 没有屏幕表现形式,它们主要用于封装和完成一定 的业务逻辑。每类用户对象又都有三种不同的形式, 解决应用程序的不同需求。
不可视标准对象
AdoResultSet 、Connection、 ContextinformationContextkeywork、Datastore、
Internetresult dynamicdescriptionarea、Dynamicstagingarea Error、ErrorLogging、Exception、Inet JaguarORB、Mailsession、Message、Oleobject Olestorage、Olestream、Pipeline、Service Tracetree、Transaction、Transport
修改用户对象
1.选择目标
4.选择要修改的用 户对象 3.选择User Obj应用举例
应用中每个窗口均有一个退出按钮,创建一标准可视用户对
象uo_exit,方法如下: ( 1 ) 在 Select Standard Visual Type 对 话 框 中 选 择 commandbutton,单击Ok按钮,弹出User Object画板,此 画板同窗口的编辑画板类似,只是有一部分工具不可用。 (2)按钮的Text属性初始设置为none,在按钮上单击鼠标右 键然后选择Properties…菜单项,打开属性对话框,将按钮 的Text属性改为“退出”。 (3)在按钮上单击鼠标右键然后选Script菜单项,打开脚本画 板。在脚本画板中单击选择事件的下拉列表框的箭头,显示 出命令按钮的预定义事件。为Clicked事件输入如下脚本:
用户对象是拓展PowerBuilder功能的最灵活对象之一。
利用用户对象,我们既可以扩展系统原有对象的功能, 增加新的使用方法,又能够创建出高度可重用的自定义 部件,在一个或多个应用程序中反复使用,缩减开发和 维护的时间,进一步提高应用程序的开发效率。同时, 对速度敏感的部分可以用C++开发,然后将其嵌入到 PowerBuilder应用程序中。
⑵定制类用户对象 定制类用户对象用于封装不需要可视特性的处理过程。 这些对象并不继承某个PowerBuilder对象,完全由 设计人员通过定义实例变量、函数、事件来实现。 定制类用户对象只有两个系统预定义事件: Constructor和Destructor。 例如,对一组数据进行统计,计算出最大值、最小值。 定制类用户对象中不能包含可视的组件。
13.2 创建用户对象
标准可视用户对象在现有控件基本功能的基础上增 加应用程序需要的功能。继承了原始控件的各种特
一、 创建标准可视用户对象
征,包括属性、事件和函数。 来定制一 例如,命令按钮只能用鼠标点击,而不响应回车键, 个用户对 可以利用标准可视用户对象 象,既能 用鼠标点 击,又可 以按回车 键操作。 点击主窗 口的工具 栏图标按 图14-1 创建用户对象 钮 New 或
用户对象具有下述优势: (1) 避免了在应用程序的不同地方编写功能相同或相 近代码的麻烦,提高了应用程序的可维护性。 (2) 用户对象可以把一组总在一起使用的可视控件组 合在一起,构成一个完成特定功能的控件,应用程 序可以随时使用它。 (3) 用户对象提供了构造具有一致外观的可视部件的 方法。 (4) 用户对象能够把相关功能封装在一起。 (5) 用户对象允许开发人员扩展某些对象的功能。 用户对象的命名一般以“u_”为前缀,用户对象控件 或实例的命名一般以“uo_”为前缀。
用户对象是封装了一组相关代码和属性、完成特定功 能的对象。用户对象一般用于完成通用的功能。例如, 应用程序可能经常使用某个“关闭”按钮执行一组操 作,之后关闭窗口;也可能经常使用某个列表框列出
所有的部门;还可能对所有的数据窗口控件使用相同 的错误类型检查;或许开发人员还想制作个文件浏览 器,在需要时插入多个窗口中。 无论什么时候,应用程序需要某种反复使用的特性时, 都应该定义个用户对象。用户对象只需定义一次,就 能够反复多次使用,并且修改一次,就能把修改结果 反映到所有使用该用户对象的地方。