PB 常用函数与封装函数列表(十、打印相关)
十、打印相关
10.1 PrintOpen 函数
启动打印作业并返回作业号
语法
PrintOpen ( { jobname } )
参数
jobname–>string类型,可选项
指定要打开打印作业的名称,该名称将显示在打印管理器窗口中
返回值
Long
成功时返回打印作业号,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
注:
应用程序执行PrintOpen()函数后,启动新的打印作业并走纸到下一页,同时将打印机缺省字体设置为该打印作业的字体
打印光标的位置位于打印区的左上角
使用PrintOpen()函数打开打印作业、使用同组的其它函数完成打印任务后,必须使用
PrintClose()关闭打印作业,或根据需要使用PrintCancel()函数取消打印作业
10.2 PrintClose 函数
关闭打印作业并把打印页面发送到打印机上
语法
PrintClose ( printjobnumber )
参数
printjobnumber–>要关闭的打印作业的作业号
返回值
Integer
函数执行成功时返回1,发生错误时返回-1
如果参数printjobnumber的值为NULL,函数返回NULL
注意:应用程序使用PrintOpen()函数启动打印作业后,必须使用PrintClose()在完成打印任务后关闭打印作业,或根据需要使用PrintCancel()函数取消打印作业
10.3 PrintCancel 函数
取消用PrintOpen()函数启动的打印作业
语法
PrintCancel ( printjobnumber )
参数
printjobnumber–>要取消的打印作业的作业号
返回值
Integer
成功时返回1,发生错误时返回-1。
如果参数printjobnumber的值为NULL,函数返回NULL
10.4 Print 函数
以当前字体在打开的打印作业中打印一行或多行文本
语法
Print(printjobnumber,{tab1,}string{,tab2})
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
tab1–>Integer类型,可选项,指定文本开始打印的位置,在开始打印字符串之前将打印光标移动到该位置,从打印区的左边界开始计算,以千分之一英寸为单位。
如果打印光标已经位于指定位置、或打印光标已经超过了指定位置、或省略了该参数,那么,Print()函数从打印光标的当前位置开始打印;
string–>string类型,指定要打印的字符串。如果字符串中包括回车换行字符(rn),那么该字符串将被分成多行输出,但是,除第一行之外,其它行忽略tab1参数指定的起始打印位置;
tab2–>Integer类型,可选项,指定字符串打印结束后打印光标移动到的位置,从打印区的左边界开始计算,以千分之一英寸为单位。
如果打印光标已经超过了指定位置,那么Print()函数忽略该参数,打印光标位于已打印字符串的尾部。如果省略了该参数,Print()函数把打印光标移动到下一行的起始位置。
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
具体说明
在打印作业中,PB使用打印光标来跟踪打印位置。打印光标保存了即将打印区域左上角的坐标。
使用Print()函数打印文本后,PowerBuilder自动更新打印光标,PB使用行距来决定打印出的两行文本之间的距离,行距与字符的高度成比例,缺省的行距是字符高度的1.2倍
使用PrintSetSpacing()函数可以改变行距
当Print()函数在下一行打印输出时,它把打印光标的x坐标设置为0、y坐标增加当前行距指示的数值。
由于每打印一行时Print()函数都自动调整打印光标的y坐标位置,因此,该函数会自动处理分页,因此,应用程序没有必要调用PrintPage()函数进行分页
10.5 PrintBitmap 函数
在打印区域的指定位置打印位图
语法
PrintBitmap ( printjobnumber, bitmap, x, y, width, height )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号 bitmap–>string类型,指定要打印的位图文件的文件名 x–>integer类型,指定位图起始打印位置的x坐标,以千分之一英寸为单位 y–>integer类型,指定位图起始打印位置的y坐标,以千分之一英寸为单位 width–>integer类型,指定位图的打印宽度,以千分之一英寸为单位。如果该参数的值指定为0,那么按图像的原始宽度打印 height–>integer类型,指定位图的打印高度,以千分之一英寸为单位。如果该参数的值指定为0,那么按图像的原始高度打印
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.6 PrintDataWindow 函数
打印数据窗口控件的内容,用该函数可以在一个打印作业中打印多个数据窗口控件的内容,每个都从新的一页开始打印
语法
PrintDataWindow ( printjobnumber, dwcontrol )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
dwcontrol–>要打印其内容的数据窗口控件名或子数据窗口控件名
返回值
Integer
成功时返回1,发生错误时返回-1
如果参数printjobnumber的值为NULL,函数返回NULL
10.7 PrintDefineFont 函数
定义打印作业使用的字体,对每个打印作业PB支持八种字体。
语法
PrintDefineFont(printjobnumber,fontnumber,facename,height,weight,fontpitch,fontfamily, italic,underline)
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
fontnumber–>指定赋给当前定义字体的编号,有效值在1到8之间
facename–>string类型,指定字体名称,该字体应该是你的打印机支持的字体,比如“宋体”
height–>Integer类型,使用正值指定字体的高度,以千分之一英寸为单位;使用负值指定字体点数,比如,-18代表18点。一般来说,使用点数更精确些
weight:指定字体的磅数,正常字体为400磅,粗体为700磅
fontpitch:FontPitch枚举类型,指定字体标准
Default! - 缺省值
Fixed! - 固定形式
Variable! - 可变形式
fontfamily:FontFamily枚举类型,指定字体系列
AnyFont!
Decorative!
Modern!
Roman!
Script!
Swiss!
italic:boolean类型,指定是否使用斜体样式。有效取值为:
TRUE - 使用斜体样式
FALSE - 不使用斜体样式 缺省值为FALSE
underline–>boolean类型,指定是否加下划线。
TRUE - 加下划线;
FALSE - 不加下划线 缺省值为FALSE
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.8 PrintLine 函数
在当前打印页上绘出指定厚度的一条线
语法
PrintLine ( printjobnumber, x1, y1, x2, y2, thickness )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
x1–>integer类型,指定直线起点的x坐标,以千分之一英寸为单位
y1–>integer类型,指定直线起点的y坐标,以千分之一英寸为单位
x2–>integer类型,指定直线终点的x坐标,以千分之一英寸为单位
y2–>integer类型,指定直线终点的y坐标,以千分之一英寸为单位
thickness–>integer类型,指定直线的厚度,以千分之一英寸为单位
返回值
Integer。
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.9 PrintOval 函数
在指定位置以指定线宽绘制椭圆或圆
语法
PrintOval ( printjobnumber, x, y, width, height, thickness )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
x1–>integer类型,指定直线起点的x坐标,以千分之一英寸为单位
y1–>integer类型,指定直线起点的y坐标,以千分之一英寸为单位
x2–>integer类型,指定直线终点的x坐标,以千分之一英寸为单位
y2–>integer类型,指定直线终点的y坐标,以千分之一英寸为单位
thickness–>integer类型,指定直线的厚度,以千分之一英寸为单位
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.10 PrintPage 函数
将当前页发送给打印机或打印池并在当前打印作业中启动一个新的打印页
语法
PrintPage ( printjobnumber )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.11 PrintRect 函数
在指定位置以指定线宽打印矩形
语法
PrintRect ( printjobnumber, x, y, width, height, thickness )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
x1–>integer类型,指定直线起点的x坐标,以千分之一英寸为单位
y1–>integer类型,指定直线起点的y坐标,以千分之一英寸为单位
x2–>integer类型,指定直线终点的x坐标,以千分之一英寸为单位
y2–>integer类型,指定直线终点的y坐标,以千分之一英寸为单位
thickness–>integer类型,指定直线的厚度,以千分之一英寸为单位
返回值
Integer。
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.12 PrintRoundRect 函数
在指定位置以指定线宽打印圆角矩形
语法
PrintRoundRect(printjobnumber,x,y,width,height,xradius,yradius,thickness)
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
x–>integer类型,指定圆角矩形左上角的x坐标,以千分之一英寸为单位
y–>integer类型,指定圆角矩形左上角的y坐标,以千分之一英寸为单位
width–>integer类型,指定圆角矩形的宽度,以千分之一英寸为单位
height–>integer类型,指定圆角矩形的高度,以千分之一英寸为单位
xradius–>integer类型,指定圆角矩形圆角部分的x半径,以千分之一英寸为单位
yradius–>integer类型,指定圆角矩形圆角部分的y半径,以千分之一英寸为单位
thickness–>integer类型,指定圆角矩形边线的厚度,以千分之一英寸为单位
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.13 PrintScreen 函数
在打印作业中打印屏幕图像
语法
PrintScreen ( printjobnumber, x, y {, width, height } )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
x–>integer类型,指定要打印屏幕图像左上角在打印页上的x坐标,以千分之一英寸为单位
y–>integer类型,指定要打印屏幕图像左上角在打印页上的y坐标,以千分之一英寸为单位
width–>integer类型,可选项,指定屏幕图像的打印宽度,以千分之一英寸为单位。如果省略了该参数,那么PB按屏幕的原始宽度打印屏幕图像。如果指定了该参数,必须同时指定height参数
height–>integer类型,可选项,指定屏幕图像的打印高度,以千分之一英寸为单位。如果省略了该参数,那么PB按屏幕的原始高度打印屏幕图像
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.14 PrintSend 函数
直接向打印机发送任意字符串,通常用于发送打印机的控制代码
语法
PrintSend ( printjobnumber, string {, zerochar } )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号 string–>string类型,指定发送到打印机的字符串。在该字符串中,使用非打印字符的ASCII码值表示非打印字符 zerochar–>integer类型,可选项,指定在string参数中用于表示数值0的ASCII码值。有效取值在1到255之间
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.15 PrintSetFont 函数
设置当前打印作业使用的字体
语法
PrintSetFont ( printjobnumber, fontnumber )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
fontnumber–>指定该打印作业使用字体的字体编号,该编号与PrintDefineFont()函数中定义的编号应该对应,字体编号的有效取值在1到8之间,0表示使用打印机的缺省字体
返回值
Integer
成功时返回当前字体的高度,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.16 PrintSetSpacing 函数
设置行间距因子,打印函数将使用该因子来决定行间距
语法
PrintSetSpacing ( printjobnumber, spacingfactor )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号 spacingfactor–>指定行间距因子,用字符高度的倍数表示,缺省值为1.2
返回值
Integer
成功时返回1,发生错误时返回-1。
如果任何参数的值为NULL,函数返回NULL
10.17 PrintSetup 函数
打开打印机设置对话框
语法
PrintSetup ( )
参数
无
返回值
Integer
成功时返回1,发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.18 PrintText
在指定位置打印一行文本
语法
PrintText ( printjobnumber, string, x, y {, fontnumber } )
参数
printjobnumber**–>**用PrintOpen()函数打开的打印作业号
string–>string类型,指定要打印的文本
x–>integer类型,指定文本开始打印位置的x坐标,以千分之一英寸为单位
y–>integer类型,指定文本开始打印位置的y坐标,以千分之一英寸为单位
fontnumber–>可选参数,指定打印文本使用的字体号,该编号由PrintDefineFont()函数确定。省略该参数时,以打印作业的当前字体打印文本
返回值
Integer
成功时返回文本打印后打印光标的x位置,即参数x的值加上打印文本的宽度
发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
10.19 PrintWidth
确定一个字符串在指定打印作业中按当前字体所占的宽度,以千分之一英寸为单位
语法
PrintWidth ( printjobnumber, string )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号 string–>string类型,指定要决定其打印宽度的字符串
返回值
Integer
成功时返回按当前字体计算的字符串打印宽度,以千分之一英寸为单位,发生错误时返回-1。
如果任何参数的值为NULL,函数返回NULL
10.20 PrintX 函数
返回打印光标的x坐标位置
语法
PrintX ( printjobnumber )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
返回值
Integer
成功时返回打印光标的x坐标位置,以千分之一英寸为单位,发生错误时返回-1。
如果任何参数的值为NULL,函数返回NULL
10.21 PrintY 函数
返回打印光标的y坐标位置
语法
PrintY ( printjobnumber )
参数
printjobnumber–>用PrintOpen()函数打开的打印作业号
返回值
Integer
成功时返回打印光标的y坐标位置,以千分之一英寸为单位,发生错误时返回-1。
如果任何参数的值为NULL,函数返回NULL