选择显示字体大小

powerbuilder中用对象实同进度

在程序中有时为表示数据的复制,读取等时间软长时,应采用进度条来表示执行的状况,以免使用户才生程序死机以及运行速度慢的感觉,给用户一个比较好的用户界面。但在powerbuilder6.0中并没有可以直接使用的进度条控件,在本例中我们通过定制可视用户对象的创建以及用户对象与窗口的通讯方法来实现进度条。
实现步骤如下:

1. 创建一个名为customuo的用户对象,并将它保存在名为customuo.pbl的应用库中;

2. 单击画笔栏的用户对象画笔图标,系统显示“select user object”对话框,单击“new”按钮,系统显示“new user object ”对话框;

3. 通过单击选择“visual”组框中的“custom”选项,然后单击“ok”按钮进入用户对象画笔;

4. 在用户对象上放置三个静态文本框,将其依次命名为st_background、st_foreground、st_percent,分别用于显示进度条的背景、进度条当前进展以及进展的百分比表示。把它们的标题(对应于text属性)全部删掉,保留为空白。用户对象本身的大小通过放置在窗口上的用户对象控件来控制;

5. 右击用户对象的空白部分(而不是其上的三个静态文本控件),从弹出菜单中选择“script....."菜单项,进入代码编辑器;用户对象的。在事件列表框中选择constructor事件,我们将对该事件编程,实现静态文本控件位置、大小的调整、边框设置等功能。具体代码如下:

//设置静态文本控件的高度、宽度

st_foreground.height=st_background.height

st_foreground.width=0

//设置静态文本控件位置

st_background.x=0st_background.y=0
st_foreground.x=0st_foreground.y=0

//设置边框风格

st_background.borderstyle=stylelowered!

st_foreground.borderstyle=stylelowered!

//改变用户对象的高度

this.height=st_foreground.height+st_percent.height+50

//修改进程条宽度

st_background.width=this.width

//设置显示百分比的静态文本控件位置

st_percent.y=100

st_percent.x=this.width/2 - st_percent.width/2

6. 从“declare”菜单选择“instance variable....."菜单项,在打开的对话框中定义一个实例变量,它们的访问权限为protected(protect型变量的特性为:用户对象外的其它对象不能直接访问这些变量,只能通过对象函 捶梦剩庵址椒芄槐;ざ韵笾械闹匾荩饫锒ㄒ宓谋淞縤l_limit用于保存进度条对应的数值上界:
protected:

long il_limit

7. 从“declare”菜单选择“user object functions...”菜单项,我们定义名为setprogress()的对象函数。该函数的功能是设置作为进度提示的静态文本控件st_foreground的宽度和静态文本控件st_percent上显示的百分比。这样通过不断调用该函数,可达到动态显示进程的效果。该函数有一个参数ai_value,数据类型为integer,引用类型为value。函数的返回值类型为(none)(无返回值)。函数代码为:

integer li_percent

//设置st_foreground静态文本控件的的宽度,以指示当前完成进度st_foreground.width=st_background.width/il_limit *ai_value

li_percent=st_foreground.width/st_background.width*100

st_percent.text=string(li_percent)+"%"

return

8. 按前面相同的方法,再定义一个对象函数setcolor(),这样其它对象就可以设置进度指针的颜色了。setcolor()函数有一个参数,数据类型为long,引用类型为value。函数的返回值类型为(none)(无返回值)。函数代码为:

//设置进度条颜色

st_foreground.backcolor=al_color

return

9. 现在定义个设置进度条上界il_limit的函数setlimit(),进度条将根据il_limit的值计算百分比。setlimit()函数有一个参数,数据类型为integer,引用类型为value。函数的返回值类型为(none)(无返回值)。函数代码为:

//设置进度条的上界

il_limit=al_value

10. 单击用户画笔工具栏“close”图标,系统显示保存对话框后将用户对象保存为cuo_progress;

11. 使用窗口画笔创建一个新窗口;将窗口标题设置为“用户对象演示”,将窗口类型选择为“response”;然后从“controls”菜单中选择“userobject...."菜单项,系统打开"select user object”对话框,选择cuo_progress,然后单击“ok”按钮关闭对话框;在窗口上单击,包含cuo_progress的用户对象控件被放置到窗口上;


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons