说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

自定义快速报表的打印预览窗口-Delphi资料

HTML文档下载 WORD文档下载 PDF文档下载
自定义快速报表的打印预览窗口-Delphi资料

---- Quick Report 2.0 中 提 供 的 默 认 打 印 预 览 窗 口 是 英 文 界 面 的, 如 果 开 发 的 中 文 软 件 中 带 有 这 种 英 文 显 示, 不 免 有 些 小 小 的 缺 憾。 因 此 有 必 要 实 现 中 文 界 面 的 打 印 预 览 窗 口。 但 是Delphi 提 供 的 源 代 码 中 并 没 有 打 印 预 览 窗 口 的.PAS 源 文 件, 这 就 无 法 直 接 修 改 源 码, 只 能 全 部 自 己 编 程 实 现。 经 多 次 实 践, 笔 者 模 仿 实 现 了 与 默 认 预 览 窗 口 外 观 类 似, 功 能 相 同 的 打 印 预 览 窗 口。 步 骤 如 下:

---- 1. 新 建 一 个 窗 体, 设 置Name 为MyPreview。

---- 2. 在 窗 体 上 添 加 一Toolbar 控 件, 模 仿 默 认 预 览 窗 口 创 建 相 应 的Toolbutton, 并 设 置 各 按 钮 的Hint 提 示。

---- 3. 添 加 一Panel 控 件, 对 齐 方 式 置 为alBottom。 再 在 此Panel 上 放 一ProgressBar( 左 对 齐) 和Panel( 右 对 齐), 分 别 显 示 报 表 装 载 进 度 和 其 他 提 示 信 息。

---- 4. 添 加QRPreview 控 件, 对 齐 方 式 置 为alClient。

---- 5. 添 加OpenDialog, 设 置Filter 属 性 为*.QR; 添 加SaveDialog, 设 置Filter 属 性 为*.QR|*.TXT|*.HTM|*.CSV, 设 置DefaultExt 属 性 为*.QR。

---- 6. 双 击 各 个Toolbutton, 输 入 相 应 代 码。

---- 可 以 按 以 下 方 法 调 用 自 定 义 预 览 窗 口。

---- 重 载TQuickRep 的OnPreview 事 件, 输 入 如 下 代 码:

procedure TRptForm.RptFormPreview(Sender: TObject);

begin

with TMyPreview.Create(Application) do

begin

QRPreview1.QRPrinter := TQRPrinter(Sender);

CurRep := self;

Show;

end;

end;

附 各 成 员 方 法 的 具 体 实 现:

unit Myprv;

interface

uses

Windows

Messages

SysUtils

Classes

Graphics

Controls

Forms

Dialogs

ComCtrls

ToolWin

qrprntr

Quickrpt

StdCtrls

ExtCtrls

qrextra

qrhtml;

type

TMyPreview = class(TForm)

QRPreview1: TQRPreview;

ToolBar1: TToolBar;

(其 余 成 员 变 量 和 成 员 方 法 声 明 略。)

private

{ Private declarations }

FPageCount : integer; // 生 成 报 表 的 总 页 数

public

{ Public declarations }

CurRep : TQuickRep; // 所 预 览 的 报 表

procedure UpdatePanelShow;

end;

implementation

{$R *.DFM}

procedure TMyPreview.UpdatePanelShow;

begin // 更 新 显 示

Panel2.Caption := ' 第 '+inttostr(QRPreview1.PageNumber)+ ' 页 总 '+inttostr(FPageCount)+' 页';

end;

procedure TMyPreview.ToolButton2Click(Sender: TObject);

begin //ZoomToFit 缩 放 至 全 屏

QRPreview1.ZoomToFit;

end;

procedure TMyPreview.ToolButton3Click(Sender: TObject);

begin //ZoomTo100% 缩 放 至 实 际 大 小

QRPreview1.Zoom:=100;

end;

procedure TMyPreview.ToolButton4Click(Sender: TObject);

begin //ZoomToWidth 缩 放 至 页 宽

QRPreview1.ZoomToWidth;

end;

procedure TMyPreview.ToolButton6Click(Sender: TObject);

begin //First page

QRPreview1.PageNumber := 1;

UpdatePanelShow;

end;

procedure TMyPreview.ToolButton8Click(Sender: TObject);

begin //prior page

QRPreview1.PageNumber := QRPreview1.PageNumber+1;

UpdatePanelShow;

end;

procedure TMyPreview.ToolButton7Click(Sender: TObject);

begin //next page

QRPreview1.PageNumber := QRPreview1.PageNumber-1;

if QRPreview1.PageNumber =0 then

QRPreview1.PageNumber:=1;

UpdatePanelShow;

end;

procedure TMyPreview.ToolButton9Click(Sender: TObject);

begin //Last page

QRPreview1.PageNumber := FPageCount;

UpdatePanelShow;

end;

procedure TMyPreview.QRPreview1PageAvailable(Sender: TObject; PageNum: Integer);

begin //get pagecount

FPageCount := PageNum ;

UpdatePanelShow;

end;

procedure TMyPreview.FormClose(Sender: TObject; var Action: TCloseAction);

begin

CurRep := nil;

Action := caFree;

end;

procedure TMyPreview.ToolButton14Click(Sender: TObject);

begin //close the window

Close;

end;

procedure TMyPreview.ToolButton11Click(Sender: TObject);

begin //print setup

QRPreview1.QRPrinter.PrintSetup;

end;

procedure TMyPreview.ToolButton13Click(Sender: TObject);

begin //print

QRPreview1.QRPrinter.Print;

end;

procedure TMyPreview.ToolButton16Click(Sender: TObject);

begin //save button

if SaveDlg1.Execute then

begin

if (SaveDlg1.FIlterIndex <>1) and (CurRep = nil) then

Exit;

case SaveDlg1.FilterINdex of

1: //--*.QR

QRPreview1.QRPrinter.Save(SaveDlg1.FileName);

2: //--*.TXT

CurRep.ExportToFilter (TQRAsciiExportFilter.Create(SaveDlg1.FileName));

3: //--*.HTM

CurRep.ExportToFilter (TQRHTMLExportFilter.Create(SaveDlg1.FileName));

4: //--*.CSV

CurRep.ExportToFilter(TQRCSVExportFilter.Create(SaveDlg1.FileName));

end;

end;

end;

procedure TMyPreview.ToolButton17Click(Sender: TObject);

begin //load button

if OpenDlg1.Execute then

QRPreview1.QRPrinter.Load(OpenDlg1.FileName);

end;

procedure TMyPreview.QRPreview1ProgressUpdate(Sender: TObject; Progress: Integer);

begin //updage progress bar

ProgressBar1.Position := Progress;

end;

procedure TMyPreview.SaveDlg1TypeChange(Sender: TObject);

begin //set DefaultExt property of Savedialog

with SaveDlg1 do

case FilterIndex of

0: DefaultExt := '.QR';

1: DefaultExt := '.TXT';

2: DefaultExt := '.HTM';

3: DefaultExt := '.CSV';

end;

end;

end.//end of Unit

Cory Ondrejka,是这位工程师拯救了Facebook! 三星争夺企业市场的三大痛点与对策 Xcode更新至4.6 支持iOS 6.1 工程师揭秘:NVIDIA如何锻造Android掌机 VMware掌控Puppet 老用户会被锁定吗? 试图领导创新:三星创新中心11亿美元建基金 基于WebRTC Chrome与Firefox实现视频通话 将OpenStack私有云部署到Hadoop MapReduce环境 Web设计师必备的10款最佳排版工具 诺基亚CEO谈平板计划 Android为候选系统 244亿美元!戴尔公司正式完成私有化 对抗苹果 Facebook或推Find My Friends应用 前谷歌工程团队负责人:如何打造一个完美的产品 好消息!Google Drive可存储共享JavaScript等网站 Android Rivers:用Kotlin语言写出的新闻应用 辞旧迎新 老牌游戏开发商的移动进化之路 iSuppli:硬盘市场持续萎缩 大数据应用成重要市场 全球最大校园Hackathon:失败后,你能学到什么? 走进Evasi0n,越狱黑客如何拿到iOS权限 提升服务扩展性和冗余的八个编码方向 分析数据预测未来?数据挖掘绝不是大公司的专利 揭秘LinkedIn数据科学家如何工作 为什么响应式设计对SEO有好处? SpaceX团队:想登陆火星吗?学好C++吧 可穿戴设备:越来越清晰的苹果iWatch 苹果设计师:开发者们的应用图标设计对了吗? AWS兴起之路:尚未成功 仍需努力 John Carmack:我们为什么不开发Linux游戏 最具创新力公司50强:耐克居首 Web如何成为另一个应用商店 Adobe发布Photoshop1.0.1源代码 给Application的open事件添加脚本 在线等待 怎麼每次都會觸發自定義字段的change event? 求救高手!!!!!! 给Application的open事件添加脚本 VB学习资料?/ select語句怎麼寫? 关于构建工资管理系统的想法!请大家踊跃发言! 考,为什么?存储过程就这么麻烦吗? 请问各位高手怎样在toolbar的按钮上载入图片?谢谢 为什么介绍sql server的书都是跟ASP联系的,有没有跟delphi 联系的? session.timeout的设置问题 我是一个初学者,我有6个问题想请教大家!希望给一点帮助 请大家帮忙想一招,我是第一次做这样的问题,简直是不可思意,吓死我了 工资太低!工作难找?提议结成联盟 初学编程,请教个小问题 请问可不可以定义 vector<vector<mystruct>> 类型? 基于单片机的步进电动机的问题,在线给高分!!!!!!!!! 无法打开的文件 怎样判断某天所属的星期的星期一和星期天对应的日期分别是什么? 如何对DBEdit组件中输入的数进行类型检查??? 我的系统是2000 server,可是我在局域网的另一台机器上实现远程登陆 请大家谈谈.net java brew三种平台的优缺点。答者有分。 怎样判断某天所属的星期的星期一和星期天对应的日期分别是什么? 什么问题啊? 怎么样才能将开发手机游戏?? 调查:这里有没有程序员买有PDA的??比较高档的。比如康柏,sony等等 有2个程序有问题,请各位高手找出错误!先谢了! 奇怪,我的BLOWFISH加密算法每次使用同一个密钥加密同一个字符串的结果都不一样! 如何使PICTUREBOX中的底图能缩放,或者哪里有透明的容器控件?在线等。 如何判断鼠标离开了一个窗口的显示区 200分紧急求助! 明天(3月13日)是我一个朋友的生日,我们一起祝福他吧:) 请大家谈谈.net java brew三种平台的优缺点。答者有分。 急急急!!! 怎么配linux的dns服务阿? 有谁知道啊? 点击链接网页竟变成下载对话框,啥会事? title为什么显示不正常 哪里有VC.NET的电子书下载? 急!急!请解释一下 请高教~~建主页~~学校的 为什么我下载的j2ee.jar里没有EJBLocalHome和EJBLocalObject接口 如何让为windows 2000 sv 同时支持asp cgi php? 如何用QQ发送消息?高手帮忙! 關於算法的問題﹐ 大家來幫幫忙呀﹗ 用asp编程怎样验证用户登陆名和密码!怎样设置用户的使用权限!我用的是sqlserver2000数据库 安装dbgrideh 的问题。 我先杀你们,再杀自己,然后逃之夭夭---(无内容) 请高手帮忙:原本显示正常的图片现在不能显示了 button的大小可以自己控制吗? 怎么使用ViewState 用手接触带电的验电器,验电器金属箔闭合的过种中,电荷是怎样移动的? 面很Q的Q是什么意思 简要复述赤壁之战的全过程.尽可能简要啊啊啊. 曲线运动的轨迹夹在------和-----之间且总是朝着-----方向弯曲. 很Q的男孩是什么意思 静电力做功W=Eqd对非匀强电场也适用?why 为什么曲线运动的轨迹会夹在v与a之间?really? 100个以上成语接龙 赤壁大战的原因,背景和影响? 什么是轨道的弯曲方向曲线运动中加速度的方向与轨道的运动方向相同 我想问 什么是轨道的运动方向 train是什么意思? 赤壁之战的起因、经过、结果是什么? 为什么说硫化锌是较难焙烧的硫化物? train什么意思 做ppt用需要知道赤壁之战时间,背景需要简练一些不要大篇幅的复制百度百科- - sio2和NaOH的反应方程式 SO2和氨水的 醋酸和氨水的 Ca(HC03)+HCL=? 怎么反应啊 train的意思 光的速度是约30万公里/秒,但是光速是恒定不变的吗?如果光速不是恒定的,那单位时间段是否不一致,会带来什么影响?如果是在真空(相同介质)中,光速永远是恒定的吗? 酸性氧化物和碱反应时反应速率最慢的二氧化碳通入氨水 二氧化硫通入澄清石灰水 二氧化硅投入烧碱中原因? Train的这句话啥意思啊..对于xx没得奖表示很开心 哈哈哈 一个电容为C板距为d的平板电容器上板带+3Q电荷下板带+Q电荷时,两板间电压多少最好给出详细解答过程 超Q有什么特权 train的意思什么各位会的大哥大姐们,快教教我啊! 一个大学物理题.谁能告诉我为什么这个题要哦这么做吗?断电的电容器应该是电荷量不变啊. 超q是啥? 择族之长而贤者主其计如何翻译 平行板电容器中间的绝缘体是怎样使两板间的正负电荷不发生中和的? 二战后欧洲、日本经济的发展对世界政治格局产生的影响 计其长曾不盈寸的盈什么意思? 右边是一个火箭模型的平面图,计算他的面积. 我办了超Q,是不是24小时都在线? 于彼计则得 翻译 乌鲁木齐哪里能买到不加碘的食盐现在腌菜的那种也是加碘的 GRE里面有V分数和Q分数~ 纳米二氧化钛与氟化氢在反应方程拜托各位大神纳米二氧化钛与氟化氢在反应方程和纳米二氧化钛在百分之五的氟化氢容易的中溶解度,知道的朋友别藏着大家分享下啊. 带电粒子在平板电容器中的电场力方向的判断 三氧化二铝里面有二氧化硅怎么除去二氧化硅书上说用盐酸和氨水在过滤,具体怎么反应的 Q+啥意思 济宁市那里能买到不加碘的食盐,去了一些超市都是加碘盐,因病人不易食用加碘盐,不知道那里有买不加碘的. 氢氧化铝 氨水谁先和盐酸反应氢氧化铝 氨水,谁先和盐酸反应 利用整式乘法公式计算299的平方当a为整数时,多项式3a的平方-5a+1与多项式-2a的立方+3a的和一定是当a为整数时,多项式3a的平方-5a+1与多项式-2a的立方+3a的和一定是A、奇数B、偶数C、3的倍数D、 如图所示,平行放置的平板电容器与一恒定的直流电源相连如图所示,水平放置的平行板电容器与一恒定的直流电源相连,两极板间距离d=10cm.距下板4cm处有质量m=0.01g的不带电小球由静止落下.小 I=q/t和a=v/t为什么是定义式? 赤壁之战的经过是什么急 滚子和轴套是自由配合 用英语如何表述 道康宁待遇如何?我是一名中专生,快到了实习期了,我想了解一下松江道康宁公司的待遇如何,有没有住宿.还有:道康宁是世界500强企业吗?越详细越好,谢谢! Q=vq中v的意思 求十五个成语接龙(都是描写四季的),谁在第一时间答出来, 道康宁7091胶白色和灰色的性能有什么不同?还有该胶在高温下和在室温下那种固化时间短? (3)材料二反映了以法国为代表的欧洲在世界上地位的何种变化? 请问有时间吗?可以帮我看一下随机变量的数学题吗? 新自由主义经济学主要的流派的代表人物及其观点? T.V.X. 如果有人说你这人很Q 恒星碰上中子星.黑洞碰上恒星,恒星会被撕碎,吸进去.恒星碰上中子星呢,恒星会被撕碎?被吸过去,撞上中子星? 当力的方向与速度成锐角时,速度轨迹向哪弯曲以及垂直和成钝角时的情况. 如果有人说这人很Q是什么意思 质点是一个理想化的模型,实际并不存在这句话对吗 可是质点确实是一个实际存在的物体啊 求详解 谢拉 物体的质量为m,沿光滑的弯曲的轨道滑下,与弯曲轨道相接的圆轨道的半径为R,要使物体沿光滑圆轨道能通过最高点,物体应从离轨道最低处多高的地方由静止开始滑下?请给与详解, 随机变量,今晚要答案.1.设某运动员投篮命中的概率为0.8,独立投三次,求命中次数的概率函数.(4个结果)2.利用二项分布的概率函数(1)P=0.3,n=20,求P𔔔(2)(2)P=0.4,n=15,求P𔔏(3)(3 黎巴嫩北部教派冲突伤亡人数升至50多联合国人权理事会工作组通过审查中国人意大利媒体称英美合作监控意通讯 政府白俄罗斯总统提议格鲁吉亚重返独联体遭马达加斯加总统选举平稳结束郝柏村:抗日战争的胜利属于整个中华民马尼拉市长拟为人质事件筹集2000万第九届两岸经贸文化论坛今举行 为交流明星进入考题屡见不鲜 “杨幂题”引争赵本山亮相春晚节目一审 冯小刚今答网伦敦股市《金融时报》100种股票平均土耳其与伊拉克外长表示将加强两国关系31省区市9月CPI涨幅出炉 物价“西共体轮值主席呼吁国际社会支持西共体德国法兰克福股市DAX指数25日上涨白俄罗斯总统提议格鲁吉亚重返独联体遭巴黎股市CAC40股指25日下跌德国政府:默克尔被窃听手机泄密可能性美国10月份消费者信心降至今年以来新女子参加富豪相亲会 反问记者你不爱钱央视马年春晚首次审看节目 共有28个澳洲学生假期安排棘手 华人家庭流行组青岛农商银行开网店正品保证还免运费一下雨,校门口流泥沙不靠谱当世界杯遭遇罢工、打劫……私挖地下室已被责令限期改正这个火车站从没通过火车健身器材罢工,想退卡遇阻这两路车咋不到终点站助您打造留学美好前景5年 创新城市信报图文版痔疮不开刀“肛泰专家”市民信得过赛前瘦身法PK,健康才是硬道理在境外网站造谣北京网民被刑拘开拓者拒绝横扫,热火勇夺赛点你有“照妖镜”我有大射灯全球平均每10秒有1人喝酒死惊喜一亲,这真心不是埃及姚贝娜携父做客《艺术人生》
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘