欢迎来到天天文库
浏览记录
ID:9680807
大小:49.00 KB
页数:2页
时间:2018-05-05
《powerbuilder中数据窗口打印和预览的设计和应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Powerbuilder中数据窗口打印和预览的设计和应用 1数据源打印窗口设计 1.1首先新建一个窗口在该窗口中适当位置插入数据窗口控件,并为该控件命名.在Po=dx//设置放大功能②预览缩小按钮的Clicked事件设计为:ifdx>20then//该条件为当dx系数值≤20不许再缩小.dx=(dx)-10//每按一次该按钮后的缩小系数endifd=dx//设置缩小功能③打印按钮的Clicked事件代码设计为:Open((essage对象的属性中. 2打印参数设置窗口的设计 在Powerbui
2、lder中Datawin-dow对象的打印特性有许多,可以满足不同的需要.以下是我们在应用程序设计中建立的打印环境设置窗口,在该窗口设计了三个标签对象即打印设置、页面设置和打印预览标签,在本例中标签名为tab-1,各标签页名分别为tabpage-1,tab-page-2和tabpage-3.在各标签页中分类设置打印参数. 2.1定义实例变量objectio-obj//定义对象类型变量datawindowwin-dw//对应上级窗口传递来的可视数据窗口对象datastoreids-win//对应上级窗口传递
3、来的非可视数据存储对象stringdw-or-win 2.3“打印设置”标签页中控件和事件代码打印份数设计为“掩码编辑控件(Editmask)”,在其属性对话框中为该控件取名为em-copies,同时设置取值增量和取值范围等属性.打印范围设计为两个“单选按钮(Radiobutton)”和一个“单行编辑框(Singlelineedit)”,在各自属性对话框中为这三个控件起名为rb-all,rb-part和sle-pagenumber.rb-all控件设计clicked事件代码为:ifthis.checked
4、then//如果选择该项,则sle-pagenumber置为无效.sle-pagenumber.enabled=falsesle-pagenumber.text=’’endif对rb-part设计clicked事件代码为:ifthis.checkedthen//在sle-pagenumber中填写打印的部分页码数.sle-pagenumber.enabled=truesle-pagenumber.setfocus()endif 2.4“页面设置”标签页中控件和事件代码纸张大小设计为“下拉列表框(Drodr
5、oodified事件代码是(程序代码略). 页边距上、下、左、右分别设计为“掩码编辑控件(Edit-mask)”,在各自的属性框中为其起名em-top,em-bottom,em-left和em-right.并对各控件设置适当的增量和取值范围.打印方向设计为两个“单选按钮(Radiobutton)”,纵向按钮和横向按钮,分别起名为eb-portrait和rb-landscape.打印方向2是纵向、1是横向、3是使用缺省值.纵向按钮的clicked事件编码为:=200在此分别取值为200,100,50,33.
6、当然,也可以为预览缩放比例设计一个“掩码编辑控件(Editmask)”使其任意选值.其modified事件的编码可写为:=integer(tab-1.tabpage-3.em-custom.text) 2.6窗口按钮控件“打印机设置”按钮取名为cb-printer,对其clicked事件的编码可写为printsetup().在执行时会弹出打印机设置对话框,可在其中选择打印机类型.“取消”按钮取名为“cb-cancel”,对其clicked事件的编码可写为close(parent).“确定”按钮取名为“cb
7、-ok”.单击该按钮,可对该窗口的三个标签页对象内的各选项进行认可,并按此进行打印或预览.其clicked事件的编码与open事件类似,也应判断是否为可视对象,再分别设置各类参数. 3小结 以上是我们用Powerbuilder设计大型应用程序时关于Datawindow中打印的具体实现,并在实践中得到应用.当然,随着应用目的的不同,可能还有其他更为复杂的要求,本文的设计思路会对设计者有一定的启发.
此文档下载收益归作者所有