网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
自定义报表打印预览窗口
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

作者:doomtoo0(红羽)

QuickRep中提供的默认打印预览窗口是英文界面的,有时客户会提出要中文界面和帮助提示,于是我首先想到的是修改预览窗口的.PAS源码。说干就干,按住Ctrl键点击TQuickRep,结果出来错误信息:Unable to locate file "quickrpt.pas",我昏!

既然改不了源码,只好另想办法。在QuickRep控件栏里有个TQRPreview,好!就用它吧,于是俺刻苦钻研了一下午终于做成了和原预览窗口界面一样,功能一致的中文报表打印预览窗口。现拿出献丑大家共同探讨。

步骤如下:
1. 新建一个窗体,设置Name为Form_MyPreview。(以下代码中报表form为Form_baobiao)

2. 在窗体上添加Toolbar控 件,仿照默认预览窗口创建添加相应的Toolbutton和Speedbutton,并设置各按钮的Hint中文提示。在下面代码中,toolbar里的前三个是Toolbutton并分为一组(grouped=true,style=tbsCheck),后面全是Speedbutton,中间相应插入new separator(作用不用我说了吧)。

3. 添加一 Panel控件,对齐方式置为alBottom。再在此Panel上放一TStatusBar,对齐方式alClient,双击TStatusBar按add new加两项。再在TStatusBar上左边放一 ProgressBar1(用于显示报表装载进度)对齐方式alNone,left=0,top=3,height=StatusBar1的height-2,width=自己选加吧。

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

5. 在Toolbutton上加载图标:添加TImageList控件并将Toolbar的images属性与之连接。当然别忘了Toolbutton的imageindex属性要和ImageList加载的图标一致。

5. 添加OpenDialog,设置Filter属性为*.QR; 添加SaveDialog,设置Filter 属性为*.QR,设置DefaultExt属性为 QR。

6. 重写TQuickRep的OnPreview事件,当然是在报表form里写了,代码如下:
procedure TForm_baobiao.QuickRep1Preview(Sender: TObject);
begin
  with TForm_MyPreview.Create(Application) do
  begin
     QRPreview1.QRPrinter := TQRPrinter(Sender);
        Show;
  end;

end;

7. 在报表form里加上: uses 新预览窗口的单元名
  
下面给出了完整的代码,run后预览功能和原预览窗口功能完全一样,你可以做修改使之更完美。另外我在编译此程序时遇到以下错误提示:
[Error] Unit2.pas(42): Undeclared identifier: ''TQRPrinter''
[Error] Unit2.pas(43): Undeclared identifier: ''CurRep''
我解决的办法很菜(还忘各位指点):在报表窗口里添加TQRPreview,再在新增预览窗口里添加TQuickRep, 运行,呵呵!通过了,然后分别删除,ok了。

匆忙赶稿,如有疏漏还望指正。谢谢


unit MyPreview;

interface

uses

  Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
  ComCtrls, ToolWin, qrprntr,Quickrpt,  
StdCtrls, ExtCtrls,qrextra,Buttons,ImgList;


type
  TForm_MyPreview = class(TForm)
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    Panel1: TPanel;
    StatusBar1: TStatusBar;
    ProgressBar1: TProgressBar;
    QRPreview1: TQRPreview;
  
  • 上一篇资讯: 小商品软件的加密方法
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号