⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upreview.pas

📁 delphi下自制报表预览的例子,还不完善,如果有疑问,给作者写信,
💻 PAS
字号:
unit Upreview;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,QuickRpt, QRPrntr, StdCtrls, ComCtrls, ToolWin, ExtCtrls,Printers,
  ImgList;

type
  TfrmPreview = class(TForm)
    qrp: TQRPreview;
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    StatusBar1: TStatusBar;
    psd: TPrinterSetupDialog;
    ToolButton3: TToolButton;
    ImageList1: TImageList;
    ToolButton1: TToolButton;
    edtZoom: TEdit;
    udZoom: TUpDown;
    ToolButton2: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure edtZoomKeyPress(Sender: TObject; var Key: Char);
    procedure udZoomChanging(Sender: TObject; var AllowChange: Boolean);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure qrpResize(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    qrt: TQuickRep;
  end;

var
  frmPreview: TfrmPreview;

implementation

uses umain, UPageSet;

{$R *.dfm}

procedure TfrmPreview.Button1Click(Sender: TObject);
begin
  form1.qrt.PrinterSettings.PaperSize:=A5;
  form1.qrt.Preview;
end;

procedure TfrmPreview.Button2Click(Sender: TObject);
begin
  form1.qrt.PrinterSettings.PaperSize:=A3;
  form1.qrt.Preview;
end;

procedure TfrmPreview.ToolButton2Click(Sender: TObject);
begin
  qrt.Print;
end;

procedure TfrmPreview.ToolButton3Click(Sender: TObject);
begin
  frmPageSet.qrt:=qrt;
  frmPageSet.ShowModal;
  edtZoom.Text:=inttostr(qrp.Zoom);
  qrp.Zoom:=strtoint(edtZoom.Text);
  qrt.Preview;
end;

procedure TfrmPreview.edtZoomKeyPress(Sender: TObject; var Key: Char);
begin
  if (not ((key<='9') and (key>='0')))and(key<>#8)and(key<>#13) then
    abort;
  if key=#13 then
  begin
    qrp.Zoom:=strtoint(edtZoom.Text);
    qrp.Refresh;
  end;
end;

procedure TfrmPreview.udZoomChanging(Sender: TObject; var AllowChange: Boolean);
begin
  qrp.Zoom:=strtoint(edtZoom.Text);
  qrp.Refresh;
end;

procedure TfrmPreview.ToolButton5Click(Sender: TObject);
begin
  Close;
end;

procedure TfrmPreview.ToolButton6Click(Sender: TObject);
begin
  qrp.ZoomToFit;
  qrp.Refresh;
  edtZoom.Text:=inttostr(qrp.Zoom);
end;

procedure TfrmPreview.ToolButton7Click(Sender: TObject);
begin
  qrp.Zoom:=100;
  qrp.Refresh;
  edtZoom.Text:=inttostr(qrp.Zoom);
end;

procedure TfrmPreview.ToolButton8Click(Sender: TObject);
begin
  qrp.ZoomToWidth;
  qrp.Refresh;
  edtZoom.Text:=inttostr(qrp.Zoom);
end;

procedure TfrmPreview.qrpResize(Sender: TObject);
begin
  edtZoom.Text:=inttostr(qrp.Zoom);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -