亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rptpreview.prg

?? 功能模塊:報(bào)關(guān)操作,運(yùn)輸操作,報(bào)關(guān)查詢,運(yùn)輸查詢
?? PRG
字號:
*-- 程序名稱:RptPreview.prg
*-- 程序功能:以自定義的窗口顯示報(bào)表的同時,顯示自定義的工具條控制報(bào)表的預(yù)覽打印…
*-- 使用方法:RptPreview ( [,cTitleName])
*    或者:do RptPreview with [, cTitleName ]
*-- 程序說明:cReportName 為 報(bào)表文件名(無須帶擴(kuò)展名),如果省略的話,則可顯示工具條
*       cTitlename 為 報(bào)表的標(biāo)題(可省略,然后以報(bào)表文件名做標(biāo)題)
*       報(bào)表的擴(kuò)展名以 frx 為準(zhǔn)
Func RPTPreview
para cReportName,cTitleName
#define ready_loc    "預(yù)覽報(bào)表 …"
#define noRptFile_loc  "報(bào)表文件&cReportName.不存在!"
#define noData_loc    "當(dāng)前工作區(qū)沒有可共預(yù)覽的數(shù)據(jù),終止!"
#define RptExist_loc   "是否替換原有的報(bào)表預(yù)覽?"
#define error_loc    "錯誤"
#define NoRpt_loc    "沒有報(bào)表可預(yù)覽"
#define RptShut_loc   "預(yù)覽報(bào)表已經(jīng)關(guān)閉!"
#define RptClose_loc   "關(guān)閉打印預(yù)覽窗口?"
#define Preview_name   "報(bào)表名稱"    && 用來顯示報(bào)表內(nèi)容的窗口
#define Time_Refresh   500       && 時鐘刷新頻率(微秒)
set message to ready_loc

#define isPicBtn   .T.    && 是否使用圖片按紐,如果為假時將采用文字按紐
#define btn_width   iif(isPicBtn,23,56)   &&  按紐的寬度
#define btn_height  iif(isPicBtn,22,25)   &&  按紐的高度

*-- 設(shè)定按紐的圖片及標(biāo)題
#define home_name   iif(isPicBtn,"","首頁")
#define home_pic   iif(isPicBtn,"btnhome.bmp","")
#define prev_name   iif(isPicBtn,"","上頁")
#define prev_pic   iif(isPicBtn,"btnprev.bmp","")
#define next_name   iif(isPicBtn,"","下頁")
#define next_pic   iif(isPicBtn,"btnnext.bmp","")
#define end_name    iif(isPicBtn,"","末頁")
#define end_pic    iif(isPicBtn,"btnend.bmp","")

#define setup_name  iif(isPicBtn,"","設(shè)置…")
#define setup_pic  iif(isPicBtn,"btnsetup.bmp","")
#define print_name  iif(isPicBtn,"","打印…")
#define print_pic  iif(isPicBtn,"btnprint.bmp","")
#define info_name  iif(isPicBtn,"","信息")
#define info_pic   iif(isPicBtn,"btnprop.bmp","")
#define close_name  iif(isPicBtn,"","關(guān)閉")
#define close_pic  iif(isPicBtn,"btnclose.bmp","")


*-- 顯示預(yù)覽工具條
if type("oPrvToolsBar")="O" and !isnull(oPrvToolsBar)
  *-- 如果已存在打印工具條,提示信息及打開工具條上的檢查時鐘
  oPrvToolsBar.msg.rpt_info.caption = ready_loc
  oPrvToolsBar.ChkTimer.enabled = .T.  
else
  *-- 如果不存在打印工具條,則創(chuàng)建該工具條
  public oPrvToolsBar    && 定義工具條對象的全局變量
  oPrvToolsBar=CreateObject("preview")  && 創(chuàng)建工具條
  oPrvToolsBar.msg.addobject("rpt_info","rpt_info")  && 添加一個信息提示文本框
  oPrvToolsBar.dock(0)  && 使工具條在屏幕的最上邊
  oPrvToolsBar.show    && 顯示工具條
endif
  
*-- 判斷是否正確傳遞報(bào)表標(biāo)題參數(shù)
if type("cTitleName")#"C"
*-- 如果報(bào)表標(biāo)題的數(shù)據(jù)類型不是字符型的,那么將報(bào)表標(biāo)題用報(bào)表的名稱來代替
cTitleName= cReportName
endif

*-- 判斷是否正確傳遞報(bào)表文件名參數(shù)
if type("cReportName")#"C" or isNull(cReportName)
*-- 如果傳遞來的報(bào)表的名稱不是字符型或是空的,那么應(yīng)該終止,并提示沒有報(bào)表可顯示
*-- 此時如果存在報(bào)表預(yù)覽窗口,那么要重新來獲取該報(bào)表的信息
with oPrvToolsBar
if wexist(Preview_name)
.isInited = .T.
.pageno  = 0
.rptName = pcRptName
.rptTitle = pcRptName
else
.msg.rpt_info.caption = NoRpt_loc
endif
endwith
retu .f.
else
*-- 報(bào)表文件名的擴(kuò)展名以 FRX 為準(zhǔn)
if !file("&cReportName..frx")
*-- 如果傳遞來的報(bào)表文件不存在,那么應(yīng)該終止,并提示文件不存在
messagebox(noRptFile_loc,16,error_loc)
retu .f.
endif
endif

*-- 判斷是否當(dāng)前有數(shù)據(jù)打開
*對于報(bào)表來講需要當(dāng)前有數(shù)據(jù)表被打開,否則也會自動彈出打開數(shù)據(jù)對話框
*所以,如果當(dāng)前沒有數(shù)據(jù)表打開,或打開的表的記錄數(shù)為0時,應(yīng)該終止。
if !used() or recc()=0
if messagebox(noData_loc,1+48,error_loc) = 2
retu .f.
endif
endif

*-- 得到正確的報(bào)表文件名和報(bào)表標(biāo)題
oPrvToolsBar.rptName = cReportName
oPrvToolsBar.rptTitle = cTitleName

*-- 定義預(yù)覽窗口
*這個窗口相當(dāng)于一個容器,用來容納報(bào)表預(yù)覽窗口,預(yù)覽窗口的特征可以從這個窗口來繼承
DEFINE WINDOW WinRptPre ;
FROM 0,0 TO SROWS()-10,SCOLS()-10 ;
FLOAT system CLOSE GROW ZOOM noMINIMIZE ;
TITLE Preview_name +": "+cTitleName

*-- 計(jì)算報(bào)表總頁數(shù)
report form &cReportName nocons environment
_pepage= _pageno   && 將報(bào)表總頁數(shù)記錄在系統(tǒng)變量_pepage中,
&& 注意該變量不可以小于等于0,否則系統(tǒng)出錯
&& 當(dāng)報(bào)表計(jì)算出來沒有可供顯示的內(nèi)容時,
&& 系統(tǒng)變量_pageno最小也是返回1,不會小于0

pnTotalPages=_pageno   && 此總頁數(shù)變量由用戶自定義,可以用到報(bào)表中顯示"共幾頁"的形式
&& 當(dāng)使用該變量時,應(yīng)實(shí)現(xiàn)用 public 來定義

*-- 將預(yù)覽所要顯示的窗口最大化
ZOOM WINDOW WinRptPre MAX

*-- 顯示報(bào)表,之前把原先有的先釋放!
if wexist(Preview_name)&& 存在已有報(bào)表預(yù)覽窗口
if messagebox(RptExist_loc,4+32,"詢問") = 7&& 詢問是否替換原有的窗口
activate window Preview_name&& 如果不替換,則激活原有的報(bào)表預(yù)覽窗口
zoom window Preview_name max&& 并將該窗口最大化
retu .F.&& 終止程序的繼續(xù)執(zhí)行
endif
endif

*-- 不管是否已經(jīng)存在原有報(bào)表,首先釋放原有的報(bào)表預(yù)覽的窗口
*如果該窗口不存在的話,則不做任何動作
release window Preview_name
*-- 顯示預(yù)覽報(bào)表在剛才定義的窗口范圍內(nèi),并不等待,繼續(xù)執(zhí)行,
*如沒有nowait參數(shù),報(bào)表象一個模式窗口會停留不前,
*那么接下去的程序運(yùn)行會因?yàn)闆]有該報(bào)表的存在而產(chǎn)生錯誤
*所以在這里這個NOWAIT很有必要,不可去掉!!!
REPORT FORM &cReportName PREVIEW WINDOW WinRptPre NOWAIT

*-- 將系統(tǒng)打印預(yù)覽工具條移到屏幕右下角,并釋放她
move window "打印預(yù)覽" to 100,100
release window "打印預(yù)覽"

*-- 釋放原有的用來放置預(yù)覽窗口的"容器"窗口
release window WinRptPre

*-- 初始化工具條完成
*并標(biāo)記工具條上的一個是否已初始屬性為真.
oPrvToolsBar.isInited = .T.

*-- 定義報(bào)表文件名為全局變量
public pcRptName
pcRptName = cReportName

set message to "預(yù)覽報(bào)表完成"

*-- 定義控件:用來顯示報(bào)表頁數(shù)狀態(tài)
Define Class rpt_info AS label
AutoSize = .T.
Caption = "初始化報(bào)表 …"
Height = 16
Left = 5
Top = 6
Width = 86
ForeColor = RGB(0,0,255)
Name = "rpt_info"
Visible = .T.
EndDefine

*-- 定義控件:打印控制工具條
DEFINE CLASS preview AS toolbar

Caption = "報(bào)表預(yù)覽打印控制"
Name = "preview"

*-- 對工具條新增以下屬性
pageno  = 0
isinited = .F.&& 是否初始完畢
rptName = ""&& 當(dāng)前報(bào)表文件名
rptTitle = norpt_loc&& 當(dāng)前報(bào)表名稱
isRptTop = .T.&& 報(bào)表是否最前
isRptBot = .T.&& 報(bào)表是否最尾

ADD OBJECT separator1 AS separator&& 加上工具條分隔欄
ADD OBJECT separator2 AS separator

ADD OBJECT msg AS container WITH ;
Width = 110, ;
Height = btn_height, ;
SpecialEffect = 1, ;
Name = "msg"

ADD OBJECT separator5 AS separator

ADD OBJECT cmdhome AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = home_name, ;
Name = "cmdHome", ;
ToolTipText = "第一頁", ;
Picture = home_pic

ADD OBJECT cmdprev AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = prev_name, ;
Name = "cmdPrev", ;
ToolTipText = "上一頁" , ;
Picture = prev_pic

ADD OBJECT separator7 AS separator

ADD OBJECT cmdnext AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = next_name, ;
Name = "cmdNext", ;
ToolTipText = "下一頁", ;
Picture = next_pic

ADD OBJECT cmdend AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = end_name, ;
Name = "cmdEnd", ;
ToolTipText = "最后一頁" , ;
Picture = end_pic

ADD OBJECT separator9 AS separator

ADD OBJECT cmdSetup AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = setup_name, ;
Name = "cmdSetup", ;
ToolTipText = "系統(tǒng)打印機(jī)設(shè)置", ;
Picture = setup_pic

ADD OBJECT cmdprint AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = print_name, ;
Name = "cmdPrint", ;
ToolTipText = "進(jìn)入報(bào)表打印設(shè)置", ;
Picture = print_pic

ADD OBJECT separator10 AS separator

ADD OBJECT cmdInfo AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = info_name, ;
Name = "cmdInfo", ;
ToolTipText = "顯示報(bào)表文件的打印信息", ;
Picture = info_pic

ADD OBJECT cmdclose AS commandbutton WITH ;
Height = btn_height, ;
Width = btn_width, ;
Caption = close_name, ;
Name = "cmdClose", ;
ToolTipText = "關(guān)閉當(dāng)前的報(bào)表", ;
Picture = close_pic

*-- 工具條的特殊之處是多了一個時鐘,用來檢查當(dāng)前頁數(shù),及其他的一些信息
ADD OBJECT ChkTimer AS timer WITH ;
Interval = time_refresh , ;
Name = "ChkTimer"

*-- 控件添加完畢,下面開始控件過程

*-- 工具條初始化
PROCEDURE Init
this.ChkTimer.height=0
this.ChkTimer.width=0
this.refresh
ENDPROC

*-- 到首頁
PROCEDURE cmdHome.Click
ACTI window Preview_name
KEYBOARD '{HOME}'
ENDPROC

*-- 上翻一頁
PROCEDURE cmdPrev.Click
ACTI window Preview_name
KEYBOARD '{PGUP}'
ENDPROC

*-- 下翻一頁
PROCEDURE cmdNext.Click
ACTI window Preview_name
KEYBOARD '{PGDN}'
ENDPROC

*-- 到頁尾
PROCEDURE cmdEnd.Click
ACTI window Preview_name
KEYBOARD '{END}'
ENDPROC

*-- 系統(tǒng)打印設(shè)置
PROCEDURE cmdSetup.Click
sys(1037)
ENDPROC

*-- 打印選項(xiàng)
PROCEDURE cmdprint.Click
*-- 調(diào)用打印設(shè)置對話框,需要另一個程序的支持: RptPrint
RptPrint (this.parent.RptName)
ENDPROC

*-- 獲取報(bào)表信息
PROCEDURE cmdInfo.Click
*-- 顯示報(bào)表文件的打印信息,需要另一個程序的支持: DspRptInfo
DspRptInfo(this.parent.rptname)
ENDPROC

*-- 關(guān)閉報(bào)表預(yù)覽及打印工具條
PROCEDURE cmdclose.Click
if messagebox(RptClose_loc,4+32,this.parent.rptTitle) = 6
*-- 釋放預(yù)覽窗口
release window Preview_name
*-- 釋放打印控制工具條
this.parent.release
endif
ENDPROC

*-- 工具條刷新
PROCEDURE Refresh
With this
*-- 刷新是對工具條上翻頁功能的可用不可用的控制
do case
*-- 當(dāng)頁數(shù)處于第一,且總頁數(shù)也是只有一頁時,四者都不可用
case_pageno=1 and _pepage=1
.isRptTop =.T.
.isRptBot =.T.
*-- 當(dāng)頁數(shù)處于第一,且總頁數(shù)大于一頁時,前兩者不可用
case_pageno=1 and _pepage>1
.isRptTop =.T.
.isRptBot =.F.
*-- 當(dāng)頁數(shù)在第一和最大之間時,四者都可用
case_pageno>1 and _pageno<_pepage
.isRptTop =.F.
.isRptBot =.F.
*-- 當(dāng)頁數(shù)在最后一頁時,后兩者不可用
case_pageno>1 and _pageno=_pepage
.isRptTop =.F.
.isRptBot =.T.
endcase
*-- 可是當(dāng)沒有初始化時,四者都不可用
if !this.isInited
.isRptTop = .T.
.isRptBot = .T.
endif
*-- 甚至四個按紐的可用性,前兩個和后兩個分別協(xié)調(diào)一致
.cmdHome.enabled = !.isRptTop
.cmdPrev.enabled = !.isRptTop
.cmdNext.enabled = !.isRptBot
.cmdEnd. Enabled = !.isRptBot
Endwith

ENDPROC

*-- 時鐘刷新
PROCEDURE ChkTimer.Timer
with this.parent
*-- 當(dāng)報(bào)表預(yù)覽初始化,及改變了頁號時
if _pageno # .pageno and .isInited
.pageno = _pageno&& 當(dāng)改變了報(bào)表的頁號后,重新改寫屬性.pageno的值
.msg.rpt_info.caption = "第 "+allt(str(_pageno))+" 頁,共 "+allt(str(_pepage))+" 頁"
.msg.width = .msg.rpt_info.width + 10&& 調(diào)整信息框的寬度使其寬度適中
.refresh()&& 刷新工具條,使重新改變按紐的可用性
endif

*-- 當(dāng)被預(yù)覽的報(bào)表不存在時
if !wexist(Preview_name) and .isInited
set message to rptshut_loc
*-- 初始化失敗
.isInited = .F.
*-- 使全部按紐不可用.
.setall("enabled",.F.,"commandbutton")
*-- 保留打印設(shè)置和關(guān)閉按紐的可用
.cmdSetup.enabled=.t.
.cmdClose.enabled=.t.
*-- 顯示報(bào)表信息為沒有報(bào)表
.msg.rpt_info.caption = noRpt_loc
.rptTitle= noRpt_loc
*-- 記錄當(dāng)前頁數(shù)為0,以使下次判斷時,當(dāng)前頁數(shù)和記錄的頁數(shù)始終不相等
.pageno = 0
*-- 關(guān)閉時鐘的檢查
.ChkTimer.enabled = .F.
else
*-- 打印和報(bào)表信息兩個按紐的可用性受報(bào)表是否初始化影響
.cmdPrint.enabled= .isInited
.cmdInfo. Enabled= .isInited
endif
.msg.rpt_info.ToolTipText = .msg.rpt_info.caption

endwith
ENDPROC

ENDDEFINE

*-- 結(jié)束定義

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品欧美黑人一区二区三区| 亚洲人妖av一区二区| 99国产精品久久久久久久久久| 香蕉成人伊视频在线观看| 国产调教视频一区| 88在线观看91蜜桃国自产| a级精品国产片在线观看| 美女mm1313爽爽久久久蜜臀| 亚洲综合成人在线视频| 国产亚洲精品精华液| 日韩一区二区在线观看| 色诱亚洲精品久久久久久| 国产成人午夜精品影院观看视频| 肉肉av福利一精品导航| 一卡二卡欧美日韩| **欧美大码日韩| 亚洲精品在线观看网站| 制服丝袜一区二区三区| 欧美午夜在线一二页| 99精品欧美一区二区三区小说 | 精品一区二区三区影院在线午夜 | 欧美日韩一区视频| 91免费观看国产| 国产成人夜色高潮福利影视| 另类综合日韩欧美亚洲| 亚洲成人自拍一区| 亚洲精品成人在线| 亚洲天堂福利av| 国产精品激情偷乱一区二区∴| 久久久www成人免费无遮挡大片| 日韩视频在线一区二区| 91精品国产综合久久精品app| 欧美体内she精高潮| 欧美色综合天天久久综合精品| 91在线精品一区二区| 99麻豆久久久国产精品免费| 成人av一区二区三区| 成人av网站在线观看免费| 成人一区二区三区视频在线观看| 国产精品一级黄| 国产精品白丝jk黑袜喷水| 国产乱子伦视频一区二区三区| 黄色精品一二区| 国产一区二区不卡在线| 国产精品影视在线| 国产一区二区三区视频在线播放| 国产综合久久久久久久久久久久| 国产一区二区三区四区五区入口 | 成人av动漫网站| 成人app下载| 91在线视频免费观看| 欧美性色aⅴ视频一区日韩精品| 欧美三级中文字| 91精品黄色片免费大全| 日韩欧美的一区| 久久婷婷国产综合精品青草| 欧美经典一区二区三区| 中文字幕亚洲成人| 亚洲码国产岛国毛片在线| 一区二区三区精品视频在线| 午夜精品久久一牛影视| 久久国产视频网| 成人免费的视频| 91成人国产精品| 91精品国产综合久久福利 | 久久久精品影视| 亚洲三级电影网站| 天堂精品中文字幕在线| 久草这里只有精品视频| 风间由美中文字幕在线看视频国产欧美| av在线播放一区二区三区| 欧美四级电影网| 日韩欧美的一区| 欧美激情中文字幕一区二区| 一区二区在线观看av| 日韩精品一区第一页| 懂色av中文字幕一区二区三区| 91蜜桃网址入口| 日韩美一区二区三区| 中文字幕在线观看不卡视频| 亚洲一区二区av在线| 精品一区二区三区蜜桃| 日本高清免费不卡视频| 精品欧美一区二区三区精品久久| 国产精品麻豆视频| 免费成人深夜小野草| 成人黄色av电影| 欧美日韩国产影片| 国产精品美女一区二区| 日韩电影免费在线看| 99riav久久精品riav| 欧美一级xxx| 亚洲免费av高清| 国产乱码精品一区二区三区五月婷| 在线精品视频免费播放| 久久久www成人免费无遮挡大片| 亚洲一卡二卡三卡四卡 | 色猫猫国产区一区二在线视频| 欧美一级久久久| |精品福利一区二区三区| 久久精品国产色蜜蜜麻豆| 一本大道久久a久久综合| 久久一留热品黄| 天天综合色天天综合| 99riav一区二区三区| 久久久影院官网| 久久国产乱子精品免费女| 在线免费亚洲电影| 国产精品家庭影院| 国产精品91一区二区| 欧美一级二级在线观看| 婷婷开心久久网| 色噜噜狠狠成人中文综合| 久久久777精品电影网影网 | 亚洲亚洲人成综合网络| 成人动漫av在线| 亚洲国产成人一区二区三区| 久久精品噜噜噜成人av农村| 欧美日韩国产免费一区二区| 亚洲欧美国产77777| av网站一区二区三区| 国产午夜精品久久久久久久| 久久精品国产精品亚洲红杏| 欧美喷水一区二区| 亚洲成a天堂v人片| 91久久一区二区| 亚洲精品国产第一综合99久久 | 欧美三级三级三级| 亚洲精品乱码久久久久久| 91色在线porny| 国产精品伦一区二区三级视频| 国产a久久麻豆| 欧美经典三级视频一区二区三区| 久久精品国产免费看久久精品| 日韩欧美一级精品久久| 久久国产综合精品| 精品久久久久久久久久久久久久久| 日本视频一区二区| 日韩限制级电影在线观看| 日韩制服丝袜先锋影音| 欧美丰满少妇xxxxx高潮对白| 亚洲.国产.中文慕字在线| 欧美日韩国产成人在线91| 日韩主播视频在线| 日韩精品最新网址| 激情综合五月天| 国产日韩av一区二区| 成人黄色国产精品网站大全在线免费观看| 国产欧美一区二区精品仙草咪| 不卡av免费在线观看| 亚洲精品国产无天堂网2021| 欧美日韩亚洲综合在线| 日本怡春院一区二区| 欧美一区2区视频在线观看| 国产一区二区在线电影| 国产精品欧美久久久久无广告 | 中文字幕中文在线不卡住| 91在线一区二区三区| 亚洲成人久久影院| 精品福利一二区| 菠萝蜜视频在线观看一区| 亚洲国产乱码最新视频| 欧美一区二区三区日韩| 国产精品一区免费在线观看| 亚洲欧洲成人精品av97| 欧美亚洲尤物久久| 免费看欧美女人艹b| 久久精品水蜜桃av综合天堂| av电影天堂一区二区在线| 亚洲大尺度视频在线观看| 精品国产免费一区二区三区香蕉| 成人中文字幕电影| 亚洲一区二区三区四区五区中文 | 91久久精品一区二区二区| 日韩国产一区二| 国产亚洲一区字幕| 精品视频1区2区| 狠狠色丁香久久婷婷综合丁香| 国产精品久久看| 在线综合亚洲欧美在线视频| 国产精品综合在线视频| 亚洲va天堂va国产va久| 久久精品视频在线免费观看| 欧美日韩一区二区在线观看视频 | 成人av免费在线| 日本不卡在线视频| 亚洲视频每日更新| 亚洲精品一线二线三线| 91女厕偷拍女厕偷拍高清| 狠狠色狠狠色合久久伊人| 亚洲国产精品久久人人爱蜜臀| 久久精品免视看| 69久久夜色精品国产69蝌蚪网| 成人的网站免费观看| 久久成人免费日本黄色| 一区二区三区四区蜜桃| 久久久国产精品午夜一区ai换脸| 欧美夫妻性生活| 欧美在线观看视频一区二区三区| 国产91丝袜在线18|