📄 reportpreview.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 + -