📄 depreu.pas
字号:
{=============
预览实现窗口
作者:罗德江
时间:2001-9-11
地点:广州
=============}
unit dePreU;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, QuickRpt, QRPrntr, ImgList, ComCtrls, ToolWin, Printers,
DeSelPageU, QRExport;
type
TfrmDePreview = class(TForm)
CoolBar1: TCoolBar;
ToolBar1: TToolBar;
tbFirst: TToolButton;
tbPriv: TToolButton;
ImageList1: TImageList;
tbNext: TToolButton;
tbLast: TToolButton;
ToolButton5: TToolButton;
tbWidth: TToolButton;
TbAll: TToolButton;
tbZoom: TToolButton;
ToolButton9: TToolButton;
tbPrint: TToolButton;
tbCurrent: TToolButton;
ToolButton12: TToolButton;
tbClose: TToolButton;
sbText: TStatusBar;
tbSetup: TToolButton;
Panel1: TPanel;
qvMain: TQRPreview;
tbSel: TToolButton;
SaveAs: TToolButton;
sdSaveAs: TSaveDialog;
ToolButton1: TToolButton;
procedure qvMainPageAvailable(Sender: TObject; PageNum: Integer);
procedure tbCloseClick(Sender: TObject);
procedure tbSetupClick(Sender: TObject);
procedure tbFirstClick(Sender: TObject);
procedure tbPrivClick(Sender: TObject);
procedure tbNextClick(Sender: TObject);
procedure tbLastClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tbWidthClick(Sender: TObject);
procedure TbAllClick(Sender: TObject);
procedure tbZoomClick(Sender: TObject);
procedure qvMainMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormShow(Sender: TObject);
procedure tbPrintClick(Sender: TObject);
procedure tbCurrentClick(Sender: TObject);
procedure tbSelClick(Sender: TObject);
procedure SaveAsClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
Procedure SetPageNum;
end;
var
frmDePreview: TfrmDePreview;
implementation
{$R *.DFM}
procedure TfrmDePreview.SetPageNum;
begin
sbText.Panels[8].Text := inttostr(qvMain.QRPrinter.PageCount);
sbText.Panels[6].Text := inttostr(qvMain.PageNumber);
sbText.Panels[4].Text := inttostr(qvMain.Zoom)+' %';
if qvMain.QRPrinter.Orientation = poPortrait then
sbText.Panels[2].Text := '纵放'
else
sbText.Panels[2].Text := '横放';
end;
procedure TfrmDePreview.qvMainPageAvailable(Sender: TObject;
PageNum: Integer);
begin
qvMain.PageNumber := 1;
SetPageNum;
end;
procedure TfrmDePreview.tbCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmDePreview.tbSetupClick(Sender: TObject);
begin
qvMain.QRPrinter.PrintSetup;
qvMain.QRPrinter.Orientation := Printer.Orientation;
qvMain.UpdateZoom;
SetPageNum;
end;
procedure TfrmDePreview.tbFirstClick(Sender: TObject);
begin
qvMain.PageNumber := 1;
SetPageNum;
end;
procedure TfrmDePreview.tbPrivClick(Sender: TObject);
begin
if qvMain.PageNumber > 1 then
qvMain.PageNumber := qvMain.PageNumber - 1;
SetPageNum;
end;
procedure TfrmDePreview.tbNextClick(Sender: TObject);
begin
if qvMain.PageNumber <
qvMain.QRPrinter.PageCount then
qvMain.PageNumber := qvMain.PageNumber + 1;
SetPageNum;
end;
procedure TfrmDePreview.tbLastClick(Sender: TObject);
begin
qvMain.PageNumber :=
qvMain.QRPrinter.PageCount;
SetPageNum;
end;
procedure TfrmDePreview.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmDePreview.tbWidthClick(Sender: TObject);
begin
qvMain.ZoomToWidth;
SetPageNum;
end;
procedure TfrmDePreview.TbAllClick(Sender: TObject);
begin
qvMain.ZoomToFit;
SetPageNum;
end;
procedure TfrmDePreview.tbZoomClick(Sender: TObject);
begin
qvMain.zoom := 100;
SetPageNum;
end;
procedure TfrmDePreview.qvMainMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (button = mbleft) then
qvMain.zoom := qvMain.zoom + 10
else
if qvMain.zoom > 10 then
qvMain.zoom := qvMain.zoom - 10;
SetPageNum;
end;
procedure TfrmDePreview.FormShow(Sender: TObject);
begin
qvMain.PageNumber := 1;
SetPageNum;
end;
procedure TfrmDePreview.tbPrintClick(Sender: TObject);
begin
qvMain.QRPrinter.FirstPage := 1;
qvMain.QRPrinter.LastPage := qvMain.QRPrinter.PageCount;
qvMain.QRPrinter.Print;
end;
procedure TfrmDePreview.tbCurrentClick(Sender: TObject);
begin
qvMain.QRPrinter.FirstPage := qvMain.PageNumber;
qvMain.QRPrinter.LastPage := qvMain.PageNumber;
qvMain.QRPrinter.Print;
end;
procedure TfrmDePreview.tbSelClick(Sender: TObject);
begin
frmSelPage := TfrmSelPage.Create(application);
frmSelPage.seBegin.MaxValue := qvMain.QRPrinter.PageCount;
frmSelPage.seEnd.MaxValue := qvMain.QRPrinter.PageCount;
frmSelPage.seBegin.Value := qvMain.PageNumber;
frmSelPage.seEnd.Value := qvMain.QRPrinter.PageCount;
frmSelPage.seBegin.MaxLength := Length(inttostr(qvMain.QRPrinter.PageCount));
frmSelPage.seEnd.MaxLength := Length(inttostr(qvMain.QRPrinter.PageCount));
frmSelPage.ShowModal;
if frmSelPage.ModalResult = mrOK then
begin
frmSelPage.Hide;
qvMain.QRPrinter.FirstPage := frmSelPage.seBegin.Value;
qvMain.QRPrinter.LastPage := frmSelPage.seEnd.Value;
qvMain.QRPrinter.Copies := frmSelPage.seCopy.Value;
qvMain.QRPrinter.Print;
end;
frmSelPage.free;
end;
procedure TfrmDePreview.SaveAsClick(Sender: TObject);
begin
if self.sdSaveAs.Execute then
begin
{
if uppercase(extractFileExt(SdSaveAs.FileName)) = '.XLS' then
self.qvMain.QRPrinter.ExportToFilter(TQRXLSFilter.Create(SdSaveAs.FileName));
}
if (uppercase(extractFileExt(SdSaveAs.FileName)) = '.RTF') then
self.qvMain.QRPrinter.ExportToFilter(TQRCommaSeparatedFilter.Create(SdSaveAs.FileName));
if uppercase(extractFileExt(SdSaveAs.FileName)) = '.HTML' then
self.qvMain.QRPrinter.ExportToFilter(TQRHTMLDocumentFilter.Create(SdSaveAs.FileName));
if uppercase(extractFileExt(SdSaveAs.FileName)) = '.CSV' then
self.qvMain.QRPrinter.ExportToFilter(TQRCommaSeparatedFilter.Create(SdSaveAs.FileName));
if uppercase(extractFileExt(SdSaveAs.FileName)) = '.TXT' then
self.qvMain.QRPrinter.ExportToFilter(TQRAsciiExportFilter.Create(SdSaveAs.FileName));
end;
{
with SaveDialog1 do
begin
if Execute then
begin
frmFormLetter.QuickRep1.ExportToFilter(TQRCommaSeparatedFilter.Create(FileName));
Other filters:
HTML: TQRHTMLDocumentFilter
ASCII: TQRAsciiExportFilter
CSV: TQRCommaSeparatedFilter
In Professional Version:
RTF: TQRRTFExportFilter
WMF: TQRWMFExportFilter
Excel: TQRXLSFilter
}
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -