国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

PowerBuilder中實現數據窗口打印預覽通用方法

2024-07-21 02:10:22
字體:
來源:轉載
供稿:網友

商業源碼熱門下載www.html.org.cn

 

  我們在文字處理過程中,常常在打印前要預覽,以便控制打印效果,特別在數據打印中要有選擇地打印頁面,更需要預覽。powerbuilder提供了程序開發過程中的數據打印預覽,下面介紹在程序應用中實現打印預覽通用方法。主窗口示意圖如下:

打印預覽窗口
預覽尺寸
自定義 30% 50% 100% 200% 標尺



一、上述w_preview窗口中各控件說明:
1. 命令按鈕控件(commandbutton)
cb_1: 用于數據窗口翻至首頁。
cb_2: 用于數據窗口向上翻頁。
cb_3: 用于數據窗口向下翻頁。
cb_4: 用于數據窗口翻至尾頁。
cb_5: 用于關閉打印預覽數據窗口。
2.復選框控件(checkbox)
cbx_1:用于為預覽數據窗口添加顯示標尺。
3.掩碼編輯器控件(editmask)
em_1:用于顯示和改變打印預覽的相對比例。
4.成組框控件(groupbox)
gb_1:用于顯示一組控件的共同屬性信息。
5.收音機按鈕控件(radiobutton)
rb_1:用于用戶自定義打印預覽顯示比例。
rb_2:用于用戶設置打印預覽顯示比例為30%。
rb_3:用于用戶設置打印預覽顯示比例為50%。
rb_4:用于用戶設置打印預覽顯示比例為100%。
rb_5:用于用戶設置打印預覽顯示比例為200%。
6.數據窗口控件(datawindow)
dw_1:用于顯示打印預覽結果。

二、下面講述創建上述窗口的實現過程:
1.創建一個新窗口w_preview,設置該窗口的類型(windowtype)為response,設置窗口的標題(title)為“打印預覽窗口"。
2.在主窗口中按示意圖放置各個控件,為掩碼編輯器(em_1)定義屬性,在general頁中定義text為“100”,在mask頁中為mask定義為“###”,選中spin control, 設置spin increment為“1”,設置spin range的min為“1”、max為“200”。
3.為窗口創建結構s_preview,具體步驟是:在powerbar工具欄中點取結構畫筆(structure),在“選擇結構(select structure)”對話框中單擊“new"按鈕,進入結構定義窗口,在結構成員名(variable name)中輸入“dw_name",在結構類型(type)中選擇“string",以“s_preview"為對象名保存此結構。
4.為窗口w_preview定義open事件程序如下:
s_preview preview_parm
preview_parm=message.powerobjectparm
dw_1.dataobject=preview_parm.dw_name
dw_1.settransobject(sqlca)
dw_1.objectwindow.print.preview=“yes"
5.為掩碼編輯器(em_1)定義二個用戶事件(user events),二事件名稱為user_change和user_room, 事件user_change 的事件標識為pbm_enchange,它是在編輯器值發生改變時觸發,事件user_room的事件標識為pbm_custom01,它是在用戶調用triggerevent()函數時觸發,下面介紹這二事件的程序。
user_change事件程序如下:
if integer(this.text)>0 and integer(this.text)<=200 then
dw_1.object.datawindow.print.preview.zoom=integer(this.text)
end if
rb_1.checked=true
user_room事件程序如下:
if integer(this.text)>0 and integer(this.text)<=200 then
dw_1.object.datawindow.print.preview.zoom=integer(this.text)
end if
6.收音機按鈕rb_2的clicked事件程序如下:
em_1.text=“30”
em_1.triggerevent("user_room")
7.收音機按鈕rb_3的clicked事件程序如下:
em_1.text=“50”
em_1.triggerevent("user_room")
8.收音機按鈕rb_4的clicked事件程序如下:
em_1.text=“100”
em_1.triggerevent("user_room")
9.收音機按鈕rb_5的clicked事件程序如下:
em_1.text=“200”
em_1.triggerevent("user_room")
10.復選框cbx_1的clicked事件程序如下:
if cbx_1.checked=true then
dw_1.object.datawindow.print.preview.rulers=“yes"
else
dw_1.object.datawindow.print.preview.rulers=“no"
end if
11.命令按鈕cb_1的clicked事件程序如下:
dw_1.scrolltorow(0) //翻至首頁
12.命令按鈕cb_2的clicked事件程序如下:
dw_1.scrollpriorpage() //翻至前頁
13.命令按鈕cb_3的clicked事件程序如下:
dw_1.scrollnextpage() //翻至后頁
14.命令按鈕cb_4的clicked事件程序如下:
dw_1.scrolltorow(999999999) //翻至尾頁
15.命令按鈕cb_5的clicked事件程序如下:
close(parent) //退出打印預覽
16.以w_preview為窗口名,保存上述窗口。

三、調用上述通用打印預覽窗口(w_preview)
被預覽的數據窗口可以是普通數據窗口,也可以是復合數據窗口,假設要預覽的數據窗口為dw_2,用如下方法調用:
s_preview ls_parm
ls_parm.dw_name=“temp.psr”
dw_2.saveas("temp.psr",psreport!,true)
openwithparm(w_preview,ls_parm)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 洪湖市| 德惠市| 鄯善县| 福安市| 金平| 云梦县| 青川县| 阳朔县| 读书| 敦煌市| 策勒县| 东阿县| 健康| 徐闻县| 新乡市| 德保县| 延安市| 开封市| 崇州市| 蓬莱市| 新闻| 浏阳市| 横峰县| 尼玛县| 信丰县| 永仁县| 忻城县| 屏边| 横山县| 孟村| 浮梁县| 红河县| 清水河县| 北票市| 云霄县| 大庆市| 张家口市| 龙山县| 泸州市| 钦州市| 广南县|