|
DataWindow的打印输出(续)
打印控制函数
PowerBuilder提供了一组打印控制函数来控制要交给打印机打印的对象。第一个函数PrintOpen()在这章的前面我们已介绍过了,其它还有:
PrintCancel(print_job_number)
这个函数将中止打印作业号所打印的作业,不发送任何内容给打印机。
datawindowcontrol.PrintCancel()
这个函数与上一函数的区别是:这个函数取消的是用Datawindowcontrol.Print()提交的作业。
PrintClose(print_job_number)
这个函数将关闭指定的打印作业并且把它发给打印机(或者假脱机程序)。为了避免挂起打印作业,所有打开的打印作业都应在应用的结束前被关闭或取消。
PrintDefineFont(print_job_number,fontnumber,facename,height,weight,font-pitc h,fontfamily ,italic,underline)
你可以用这个函数定义字型。Power-Builder允许在一个打印作业中使用八种字型,用这个函数可定义其中的任一个。这个字型所属的打印作业号由Print_job_number参数指定,font_number参数是这个打印作业所采用的字型号(1-8)。其余的参数描述了字型如何显示,是否斜体字、粗体和下划线等。facename参数是一个包含了你所定义的字体名字的字符串(例:courier 100CPI)。height参数是你所需的以千分之一寸为单位的字体的高度(例:250将是一个18点阵courier 10 CPI字体),height参数也可使用一负值来表示点阵数指定点尺寸(例:-18是18点阵)。weight参数值是您所要的字型的笔画权值(例:400是平常正文,700是粗体)。fontpitch参数是一个枚举数据类型,它指定了字体的间距(Defa ult!,Fixed!或variable!);fontfamily参数也是一个枚举类型,指定了字体系列(AnyFont!,Decorative!,Mod-ern!,Rom an!,Script!,Swiss!)。这两种参数只在基于Windows的操作系统中使用,在Macintosh等机器中不能使用。italic参数是一个布尔型变量,指定字体是斜体(True)或非斜体(False),underline参数也是一个布尔值,用法同上。
PrintOpen()这个函数已在这章的开始讲述过了,它定义一个打印作业以便将所有的打印项成组发送给打印机。它的返回值是唯一的打印作业ID,如果返回值为负,则意味着产生错误。
PrintPage(print_job_number)
这个函数将指定的打印作业的当前页传送给打印机(或假脱机程序) 另起一页用于之后的打印集。
PrintSend(print_job_number,string{,zero_character})
这个函数在打印作业中发送一个特定的字符串给打印机。这个字符串一般是一个包含转义字符的命令串用来启动或操作打印机。这些打印机的控制代码因打印机的不同而不同,您应查询您的打印机手册来得到正确的代码。 这个与打印机进行通信的字符串应是一个ASCII码集,并以ASCII码0来结束。如果你需要发送ASCII码0,你可以用另外的一个字符来替代0,给定的这个替代字符的ASCII值由可选参数zero-character来指定。这个函数一般用于改变纸的定向(Lands cape或por-trait)或者改变打印用的纸盘等。
PrintSetFont(print_job_number,fontnumber)
这个函数设置当前打印机字体,它是你使用PrintDefineFont()函数中定义的八个字体中的一个。
PrintSetSpacing(print_job_number,spacing)
这个函数使用Spacing参数来决定正文行之间的行距。这个值乘以当前字体高得到行距,缺省值是1.2。
PrintSetup()
这个函数调用Windows的Print Setup对话框,实际显示的Setup窗口依赖于你所安装的打印机驱动程序。
PrintWidth(print_job_number,string)
这个函数的sting参数返回字符串的宽度(以千分之一寸为单位)。返回值的大小是依赖于当前选择的字体。
PrintX(print_job_number)
这个函数返回当前打印光标的X坐标(水平)值。
PrintY(print_job_number)
这个函数返回当前打印光标的Y坐标(垂直)值。除非特别说明,上述函数的返回值1意味着成功,-1意味着失败。 DataWindow控件的打印属性使用modify函数,我们可以改变DataWindow的打印属性。在打印DataW-indow之前,我们可
上一篇:PB中用Windows API制作位图菜单
下一篇:在PB 7.0中实现多数据窗口的连续打印
|