📄 mypreviewfrm.pas
字号:
unit MyPreviewFrm;
{在报表单元uses本单元及qrprntr.pas单元,并在quickrep1控件的OnPreview事件中
加入如下代码:
with TMyPreview.Create(Application) do
begin
QRPreview1.QRPrinter := TQRPrinter(Sender);
CurRep := self.QuickRep1;
Show;
end;}
interface
uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
ComCtrls, ToolWin, qrprntr,Quickrpt,
StdCtrls, ExtCtrls,qrextra, ImgList;
type
TMyPreview = class(TForm)
ToolBar1: TToolBar;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton6: TToolButton;
ToolButton7: TToolButton;
Panel1: TPanel;
Panel2: TPanel;
QRPreview1: TQRPreview;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
ToolButton11: TToolButton;
ToolButton13: TToolButton;
ToolButton14: TToolButton;
ToolButton1: TToolButton;
ToolButton5: TToolButton;
ToolButton10: TToolButton;
ImageList1: TImageList;
Panel3: TPanel;
procedure ToolButton2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure ToolButton8Click(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ToolButton9Click(Sender: TObject);
procedure QRPreview1PageAvailable(Sender: TObject; PageNum: Integer);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ToolButton14Click(Sender: TObject);
procedure ToolButton11Click(Sender: TObject);
procedure ToolButton13Click(Sender: TObject);
private
{ Private declarations }
FPageCount : integer; // 生成报表的总页数
public
{ Public declarations }
CurRep : TQuickRep; // 所预览的报表
procedure UpdatePanelShow;
end;
var
MyPreview: TMyPreview;
implementation
{$R *.DFM}
procedure TMyPreview.UpdatePanelShow;
begin // 更新显示
Panel2.Caption :=
' 第'+inttostr(QRPreview1.PageNumber)+
' 页 总'+inttostr(FPageCount)+' 页';
end;
procedure TMyPreview.ToolButton2Click(Sender: TObject);
begin
QRPreview1.ZoomToFit;
end;
procedure TMyPreview.ToolButton3Click(Sender: TObject);
begin
QRPreview1.Zoom:=100;
end;
procedure TMyPreview.ToolButton4Click(Sender: TObject);
begin
QRPreview1.ZoomToWidth;
end;
procedure TMyPreview.ToolButton6Click(Sender: TObject);
begin
QRPreview1.PageNumber := 1;
UpdatePanelShow;
end;
procedure TMyPreview.ToolButton8Click(Sender: TObject);
begin
QRPreview1.PageNumber := QRPreview1.PageNumber+1;
UpdatePanelShow;
end;
procedure TMyPreview.ToolButton7Click(Sender: TObject);
begin
QRPreview1.PageNumber := QRPreview1.PageNumber-1;
if QRPreview1.PageNumber =0 then
QRPreview1.PageNumber:=1;
UpdatePanelShow;
end;
procedure TMyPreview.ToolButton9Click(Sender: TObject);
begin
QRPreview1.PageNumber := FPageCount;
UpdatePanelShow;
end;
procedure TMyPreview.QRPreview1PageAvailable(Sender: TObject;
PageNum: Integer);
begin
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;
end;
procedure TMyPreview.ToolButton11Click(Sender: TObject);
begin
try
QRPreview1.QRPrinter.PrintSetup;
except
showmessage('请安装打印机');
end;
end;
procedure TMyPreview.ToolButton13Click(Sender: TObject);
begin
QRPreview1.QRPrinter.Print;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -