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

📄 reportpreview.pas

📁 该控件是一个带表格线的打印构件
💻 PAS
字号:
unit ReportPreview;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, Buttons, DsgnIntf, ReportUnit, StdCtrls;

type
  TPreviewForm = class(TForm)
    PreviewPanel: TPanel;
    PrevBtn: TSpeedButton;
    NextBtn: TSpeedButton;
    PreviewScrollBox: TScrollBox;
    PreviewImage: TImage;
    TopPanel: TPanel;
    PageLabel: TLabel;
    procedure FormActivate(Sender: TObject);
    procedure PrevBtnClick(Sender: TObject);
    procedure NextBtnClick(Sender: TObject);
  private
    procedure RefreshControls;
  public
    ReportSingle: TReportSingle;
  end;

var
  PreviewForm: TPreviewForm;

implementation

{$R *.DFM}

procedure TPreviewForm.RefreshControls;
var
  ReportBitmap: TBitmap;
begin
  PrevBtn.Enabled := ReportSingle.CurrentPage > 1;
  NextBtn.Enabled := ReportSingle.CurrentPage < ReportSingle.PageCount;
  PageLabel.Caption := 'Page: ' + IntToStr(ReportSingle.CurrentPage) + '/' +
    IntToStr(ReportSingle.PageCount);
  Screen.Cursor := crHourGlass;
  ReportBitmap := ReportSingle.ReportBitmap;
  PreviewImage.Picture.Bitmap.Width := ReportBitmap.Width + 100;
  PreviewImage.Picture.Bitmap.Height := ReportBitmap.Height;
  PreviewImage.Canvas.Draw(50, 0, ReportBitmap);
  PreviewImage.Width := PreviewImage.Picture.Bitmap.Width;
  PreviewImage.Height := PreviewImage.Picture.Bitmap.Height;
  Screen.Cursor := crDefault;
end;

procedure TPreviewForm.FormActivate(Sender: TObject);
begin
  RefreshControls;
end;

procedure TPreviewForm.PrevBtnClick(Sender: TObject);
begin
  ReportSingle.Prev;
  RefreshControls;
end;

procedure TPreviewForm.NextBtnClick(Sender: TObject);
begin
  ReportSingle.Next;
  RefreshControls;
end;

end.

⌨️ 快捷键说明

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