(2)在FreeForm方式下,应将列(colunm)、文本(text)等对象(object)的resizeable、m oveable置为1。
3.删除或者增加一个DW的对象 对象(object)是组成DW的基本单元,例如一个标准的数据录入窗口中有文字、输入项,那么这些文字、输入项就是这个DW的object。对象主要有以下几种:列(column)、文本(text) 、计算域(computedfield)、线(line)等。其中,计算域显示的内容是由它的表达式属性(ex pression)决定的。通过DataWindow Painter Functions组成的函数表达式,我们可以显示诸如日期、报表页码、某几列的和等信息以丰富报表格式的内容。 (1)删除一个对象:<DW控件名>.modify("Destroy<对象名>") (2)增加一个对象: 以计算域为例(附录程序C)。 程序C: modstring="create compute(band="+band+& "alignment="0" expression=""border="6"+& "color="0"x="5"y=+srting(barheight+5)+& height="100"width="400"format="[GENERAL]"+& "name="+namestring+"pointer="Arrow!"resizeable=l moveable=l"+& font.face="楷体"font.height="-10"font.weight="700+& "font.famliy="1"font.pitch="2"font.charset="-122""+& "background.color="12632256"background.mode="1")" errorsrting=dw-print.Modify(modstring) IF errorstring=""THEN∥增加操作成功 obj-setting[obj-i].moveable="0" obj-setting[obj-i].objtype="compute" obj-setting[obj-i].resizeable="0" obj-setting[obj-i].name=namestring dw-print.setposition(namestring,"",false) newcompute-i++ obj-i++ END IF 说明: (1).errorstring是一个buffer,用于存放出错信息;dw-print为数据窗口控件名称; (2).obj-setting[]是一个数组,保存DW对象原始的信息。举例而言,我们在格式生成器中出于编辑的目的,将 每一个对象的resizeable,moveable都置为l,而在具体用这个DW格式录入数据时并不希望它是resizeable或者是moveale。注意在每次载入时保存原始信息在obj- setting数组中,每一个数组元素对应保存一个DW的对象。 其他一些修改外形的方法如颜色(color)、左右对齐(align)、字体、大小等,可以参考PB4.0中DataWindow painter中的toolkits,PB4.0提供了相应的位图,实现起来没有困难。
4.存盘与装载 PBL文件是PowerBuilder Library的缩写,各种BP4.0的控件包括DW控件,脚本(PowerScr ipt),对象等都集成在PBL中,应用以上库管理函数进行DW的调入、删除、存储等。 (1)存盘 或者将编辑好的DW的语法存入一个文本文件,或者直接将该格式存入一个PBL文件中。 libraryimport(<目的文件>,<DW内部名>,ImportDataWindow!,& <DW控件名>.describe("DataWindow.Syntax",Errorbuffer,& comment)) (2)调入 syntax=libraryExport(<源文件>,<DW内部名称>)<DW控件名>.create(syntax,errorbuffer) errorbuffer存放出错信息,comment为该格式的备注,我们可以用comment和DW内部名称一一对应,作为该格式的正式名称提供给用户。 例如:用户给某种DW格式定义一个正式名称如"900型设备录入格式",存储时令comment="900型设备录入格式",给该DW起一个DW内部名称, 调入时将用户选中的comment对应的DW内部名称传递给libraryExport函数。
(编辑:aniston)
|