PowerBuilder控件使用手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PB控件使用介绍
一、PB中使用Microsoft Web Browser控件步骤:
在pb的某窗口中加入OLE对象,选择Insert control(插入控件),然后选中"Microsoft WEB 浏览器",(随系统而定的版本),就可以在这个窗口直接使用IE浏览器控件了。
常用函数:(对这个ole控件取名叫ole_web)
ole_web.object.navigate(string ls_url) file://浏览某url,
譬如:ole_web.object.navigate('') 就是浏览 页面,当然支持本地文件,也支持本地图片文件的浏览,如jpeg,jpg,gif,png等等,如果是不支持的文件,则直接弹出选择打开文件对话框,和ie一模一样。
ole_web.object.goback() file://回退(如果没有内容可退,则会弹出错误,可以屏蔽该错误)
ole_web.object.goforward() file://前进,同上
常用事件:
documentcomplete : url请求的页面完成;
downloadcomplete:url中请求的下载完成;
常用属性:
ole_web.object.width :pixel高度,需要转换为pbunit高度才可以调整
ole_web.object.height:同上
ole_web.object.offline:离线方式,true,false两者之一
你甚至可以用pb写出一个和ie类似的界面用来进行浏览网页或图片。
二、在程序中打印
在程序中如何提供打印功能呢?这里有三种调用打印函数的格式可供选择。
1. 对数据窗口控制或者数据窗口可以使用这种打印格式。 DATAWINDOWNAME.Print(cancel_window)
这里cancel_window 是一个布尔值,它指出是否要显示一个用户可以用来中止打印动作的窗口。
这种格式只适用于打印单个数据窗口的内容,如果要在同一个作业当中打印多个数据窗口的内容,就要使用PRINTDATAWINDOW函数。
2. 对任何对象均可使用第二种语法。
OBJECTNAME.Print(job#,x,y,{width,height})
这种打印格式是直截了当的。JOB#指出作业,X和Y指出打印作业指出的打印区。WIDTH 和 HEIGHT指出打印的长度和宽度。如果不特别的说明长宽的值,那么就使用对象原来的大小。
3. 打印函数的第三种格式可以用来打印串值:
Print(job#,{tab1,}string_value{,tab2})
其中,TAB1说明打印开始之前打印光标应该移动到哪里(千分之一英寸为单位)。什么是打印光标呢?POWER BUILDER使用打印光标来保持打印区域内依次打印最后结
束处的坐标轨迹。若没有给出TAB1,或者TAB1的值小于当前光标的X坐标,则从所在的位置开始打印。
TAB2指定的是打印之后光标应该处在的位置,如上所述,或者TAB1的值小于当前光标的X坐标,那么光标保留在它原来的位置。如果字符串中包括换行字符,那么最初的TAB位置只适合第一行。
三、 打印函数
POWER BUILDER提供了几十个打印函数。下面我们介绍几个常用的函数的用法。PrintOpen
PrintOpen函数打开一个打印作业,并且分配给它一个打印作业号,在以后的程序当中我们可以使用这个打印作业号。它可以接受一个字符串作为参数,这个字符串说明打印作业的名称。
例如:
int pjob
pjob = PrintOpen(one print job)
PrintCancel
PrintCancel函数用来删除打印的作业和假脱机文件。PrintCancel函数有两种格式。DATAWINDOWNAME.PrintCancel()
这种格式可以删除一个数据窗口或它所拥有的正在打印的子数据窗口的打印。
PrintCancel(job#)
这种格式可以删除正在打印的作业。
PrintClose
使用PrintClose函数可以打印当前页(或者假脱机的页),调用格式为:PrintClose(job#)
一旦PrintClose函数执行完毕,那么与该打印作业有关的那个标识号就不再被使用。PrintDatawindow
使用PrintDataWindow函数可以打印一个数据窗口或者子窗口,这个函数主要用于打印在单个的打印作业当中打印多个数据窗口。它的调用格式是:
PrintDatawindow(job#,DATAWINDOWNAME)
例如:
integer job
job = PrintOpen()
PrintDatawindow(job,datawindow1)
PrintDatawindow(job,datawindow2)
PrintDatawindow(job,datawindow3)
PrintClose(job)
PrintPage
使用PrintPage函数可以打印当前的页,并且为指定的打印作业开始新的一页。调用格式如下:
PringPage(job#)
PrintSetup
使用PrintSetup函数可以调用由打印机驱动程序提供的PrintSetup窗口,用户可以进行设置,函数可以在用户结束设置之后,将设置的结果保留在打印机的驱动程序当中。
四、 动态数据窗口
1 简介
从前面的内容当中,我们知道一个窗口上的数据窗口控件,必须和一个真正的数据窗口对象配合起来才能进行工作。数据窗口对象和数据窗口对象所包含的所有的实体(如文本、图形)都有自己的属性。在程序运行的时候,我们可以通过获取、修改这些属性的方法来对数据窗口对象及其所属实体进行动态的控制,甚至能够动态地建立一个新的数据窗口对象。下面,我们就来介绍动态的操纵数据窗口对象的方法。
2 动态创建数据窗口
创建数据窗口有两种方法。一种是在POWER BUILDER 的数据画板中建立,另一种就是在程序运行的过程中通过执行一段脚本来动态地建立数据窗口。下面我们来介绍这种动态创建的方法。
首先打开一个窗口画板。我们看到该窗口上面有一个数据窗口控件(图9-1)。