ufrm_report.pas

来自「完整的进销存系统。 设计文件及完整的源代码。 Delphi6.0」· PAS 代码 · 共 178 行

PAS
178
字号
{*****************************************}
{ Program name: ReportSet                 }
{ Purpose: Report view                    }
{ Notes:                                  }
{ Date: 2005.05.15                        }
{*****************************************}
unit ufrm_report;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, ExtCtrls, Buttons, ppViewr;

type
  Tfrm_report = class(TForm)
    pnlPreviewBar: TPanel;
    ppViewer1: TppViewer;
    Panel1: TPanel;
    spbPreviewPrint: TSpeedButton;
    Panel2: TPanel;
    spbPreviewWhole: TSpeedButton;
    spbPreviewWidth: TSpeedButton;
    spbPreview100Percent: TSpeedButton;
    mskPreviewPercentage: TEdit;
    sp01: TSpeedButton;
    Panel3: TPanel;
    spbPreviewFirst: TSpeedButton;
    spbPreviewPrior: TSpeedButton;
    spbPreviewNext: TSpeedButton;
    spbPreviewLast: TSpeedButton;
    mskPreviewPage: TEdit;
    SpeedButton2: TSpeedButton;
    Panel4: TPanel;
    SpeedButton1: TSpeedButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    procedure spbPreviewPrintClick(Sender: TObject);
    procedure spbPreviewWholeClick(Sender: TObject);
    procedure spbPreviewWidthClick(Sender: TObject);
    procedure spbPreview100PercentClick(Sender: TObject);
    procedure spbPreviewFirstClick(Sender: TObject);
    procedure spbPreviewPriorClick(Sender: TObject);
    procedure spbPreviewNextClick(Sender: TObject);
    procedure spbPreviewLastClick(Sender: TObject);
    procedure mskPreviewPercentageKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure mskPreviewPageKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure sp01Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frm_report: Tfrm_report;

implementation

uses ufrm_Wait;

{$R *.dfm}

procedure Tfrm_report.spbPreviewPrintClick(Sender: TObject);
begin
  ppViewer1.Print;
end;

procedure Tfrm_report.spbPreviewWholeClick(Sender: TObject);
begin
  ppViewer1.ZoomSetting := zsWholePage;
  mskPreviewPercentage.Text := IntToStr(ppViewer1.CalculatedZoom);
  pnlPreviewBar.SetFocus;
end;

procedure Tfrm_report.spbPreviewWidthClick(Sender: TObject);
begin
  ppViewer1.ZoomSetting := zsPageWidth;
  mskPreviewPercentage.Text := IntToStr(ppViewer1.CalculatedZoom);
  pnlPreviewBar.SetFocus;
end;

procedure Tfrm_report.spbPreview100PercentClick(Sender: TObject);
begin
  ppViewer1.ZoomSetting := zs100Percent;
  mskPreviewPercentage.Text := IntToStr(ppViewer1.CalculatedZoom);
  pnlPreviewBar.SetFocus;
end;

procedure Tfrm_report.spbPreviewFirstClick(Sender: TObject);
begin
  ppViewer1.FirstPage;
  mskPreviewPage.Text:=inttostr(ppViewer1.CurrentPage.PageNo);
end;

procedure Tfrm_report.spbPreviewPriorClick(Sender: TObject);
begin
  ppViewer1.PriorPage;
  mskPreviewPage.Text:=inttostr(ppViewer1.CurrentPage.PageNo);
end;

procedure Tfrm_report.spbPreviewNextClick(Sender: TObject);
begin
  ppViewer1.NextPage;
  mskPreviewPage.Text:=inttostr(ppViewer1.CurrentPage.PageNo);
end;

procedure Tfrm_report.spbPreviewLastClick(Sender: TObject);
begin
  ppViewer1.LastPage;
  mskPreviewPage.Text:=inttostr(ppViewer1.CurrentPage.PageNo);
end;

procedure Tfrm_report.mskPreviewPercentageKeyUp(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  if (key<=57)and(key>=48)or(key>=96)and(key<=105) then Exit;
  if (key=8)or(key=27) then Exit;
  if key=13 then
    begin
      if trim(mskPreviewPercentage.Text)='' then Exit;
      ppViewer1.ZoomPercentage:=strtoint(mskPreviewPercentage.Text);
      Exit;
    end;
  mskPreviewPercentage.Text:='';
end;

procedure Tfrm_report.mskPreviewPageKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (key<=57)and(key>=48)or(key>=96)and(key<=105) then Exit;
  if (key=8)or(key=27) then Exit;
  if key=13 then
    begin
      if trim(mskPreviewPercentage.Text)='' then Exit;
      ppViewer1.GotoPage(strtoint(mskPreviewPercentage.Text));
      Exit;
    end;
  mskPreviewPage.Text:='';
end;

procedure Tfrm_report.sp01Click(Sender: TObject);
begin
  if trim(mskPreviewPercentage.Text)='' then Exit;
  ppViewer1.ZoomPercentage:=strtoint(mskPreviewPercentage.Text);
end;

procedure Tfrm_report.SpeedButton2Click(Sender: TObject);
begin
  if trim(mskPreviewPercentage.Text)='' then Exit;
  ppViewer1.GotoPage(strtoint(mskPreviewPercentage.Text));
end;

procedure Tfrm_report.SpeedButton1Click(Sender: TObject);
begin
  close;
end;

procedure Tfrm_report.FormShow(Sender: TObject);
begin
  frm_report.ppViewer1.RegenerateReport;
  ppViewer1.LastPage;
//  Label2.Caption:=inttostr(ppViewer1.CurrentPage.PageNo);
  Label2.Caption:=inttostr(ppViewer1.CurrentPage.PageCount);
  ppViewer1.FirstPage;
  mskPreviewPage.Text:='1';
  spbPreviewWholeClick(self);
  clipcursor(nil);
end;

end.

⌨️ 快捷键说明

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