📄 quickrpt.pas
字号:
procedure Cancel;
// export
procedure ExportComposite(AFilter : TQRExportFilter; expQRPrinter : TQRPrinter);
procedure ExportToFilter(AFilter : TQRExportFilter);
procedure EndPage;
procedure Modify;
procedure NewColumn;
procedure NewPage;
procedure Paint; override;
{$ifdef LLIONPDF}
procedure PrintToPDF( PDFDocument : TPDFDocument );
procedure StreamToPDF( PDFDocument: TPDFDocument; ostream : TStream );
{$endif}
procedure Print;
procedure PrintBackground;
procedure PrinterSetup;
procedure Prepare;
procedure Preview;
procedure PreviewModeless;
procedure PreviewModal;
procedure ResetPageFooterSize;
procedure RemoveBand(aBand : TQRCustomBand);
procedure SetBandValues;
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
property Available : boolean read FAvailable;
property AllDataSets : TList read FAllDataSets write FAllDataSets;
property BandList : TList read FBandList;
property Cancelled : boolean read FCancelled;
property ColumnTopPosition : integer read FColumnTopPosition write FColumnTopPosition;
property CurrentColumn : integer read FCurrentColumn;
property CurrentX : integer read FCurrentX write FCurrentX;
property CurrentY : integer read FCurrentY write FCurrentY;
property ExportFilter : TQRExportFilter read FExportFilter write SetExportFilter;
property Exporting : boolean read FExporting;
property FinalPass : boolean read FFinalPass;
property HideBands : boolean read FHideBands write SetHideBands;
property PageNumber : integer read FPageCount;
property Printer : TQRPrinter read FQRPrinter;
property QRPrinter : TQRPrinter read FQRPrinter write FQRPrinter;
property RotateBands : integer read FRotateBands write SetRotateBands;
property State : TQRState read FState write FState;
property AfterPrint : TQRAfterPrintEvent read FAfterPrintEvent write FAfterPrintEvent;
property AfterPreview : TQRAfterPreviewEvent read FAfterPreviewEvent write FAfterPreviewEvent;
property Bands : TQuickRepBands read FBands write FBands;
property BeforePrint : TQRReportBeforePrintEvent read FBeforePrintEvent write FBeforePrintEvent;
property Description : TStrings read FDescription write SetDescription;
property BackImageControl : string read FBackgroundImage write FBackgroundImage;
property Font;
property Functions : TQREvEnvironment read FEnvironment write FEnvironment stored true;
property OnEndPage : TQRNotifyEvent read FOnEndPageEvent write FOnEndPageEvent;
property OnNeedData : TQROnNeedDataEvent read FOnNeedDataEvent write FOnNeedDataEvent;
property OnPreview : TNotifyEvent read FOnPreviewEvent write FOnPreviewEvent;
property OnStartPage : TQRNotifyEvent read FOnStartPageEvent write FOnStartPageEvent;
property Options : TQuickReportOptions read FOptions write FOptions;
property Page : TQRPage read FPage write FPage;
property PrintIfEmpty : boolean read GetPrintIfEmpty write SetPrintIfEmpty;
property PrinterSettings : TQuickRepPrinterSettings read FPrinterSettings write FPrinterSettings;
property ReportTitle : string read FReportTitle write FReportTitle;
property ShowProgress : boolean read FShowProgress write FShowProgress default true;
property SnapToGrid : boolean read FSnapToGrid write FSnapToGrid;
property Units : TQRUnit read GetUnits write SetUnits stored true;
property Zoom;
Property PrevFormStyle : TFormStyle read FPrevFormStyle write FPrevFormStyle;
Property PreviewInitialState : TWindowState read FPreviewInitialState write FPreviewInitialState;
Property PreviewWidth : integer read GetPreviewWidth write FPreviewWidth default 500;
Property PreviewHeight : integer read GetPreviewHeight write FPreviewHeight default 500;
property OnGetPrinterSettings : TQRPrinterEvent read FOnGetPrinterSettings write FOnGetPrinterSettings;
property OnApplyPrinterSettings : TQRPrinterEvent read FOnApplyPrinterSettings write FOnApplyPrinterSettings;
// qr4
Property PrevShowThumbs : boolean read GetPrevShowThumbs write SetPrevShowThumbs default true;
Property PrevShowSearch : boolean read FPrevShowSearch write FPrevShowSearch default true;
Property PrevInitialZoom : TQRZoomstate read FPrevInitialZoom write FPrevInitialZoom;
end;
TQuickRep = class(TCustomQuickRep)
private
function GetDataSet : TDataSet;
function GetRecordCount : integer;
function GetRecordNumber : integer;
procedure SetDataSet(Value : TDataSet);
protected
procedure Execute; override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure SetControllerBands; override;
public
constructor CreateNew(AOwner : TComponent; Dummy: Integer = 1); override;
destructor Destroy; override;
property RecordCount : integer read GetRecordCount;
property RecordNumber : integer read GetRecordNumber;
published
property AfterPrint;
property AfterPreview;
property BackImageControl;
property Bands : TQuickRepBands read FBands write FBands;
property BeforePrint;
property DataSet : TDataSet read GetDataSet write SetDataSet;
property Description;
property Font;
property Functions;
property OnEndPage;
property OnNeedData;
property OnPreview;
property OnStartPage;
property Options;
property Page;
property PrinterSettings;
property PrintIfEmpty;
property ReportTitle;
property ShowProgress;
property SnapToGrid;
property Units;
property Zoom;
property OnGetPrinterSettings;
property OnApplyPrinterSettings;
Property PrevFormStyle;
Property PreviewInitialState;
Property PreviewWidth;
Property PreviewHeight;
// QR4
Property PrevShowThumbs;
Property PrevShowSearch;
Property PrevInitialZoom;
end;
{ TQuickAbstractReport }
TQuickAbstractRep = class(TCustomQuickRep)
published
property AfterPrint;
property AfterPreview;
property Bands : TQuickRepBands read FBands write FBands;
property BeforePrint;
property Description;
property Font;
property Functions;
property OnEndPage;
property OnPreview;
property OnStartPage;
property Options;
property Page;
property PrinterSettings;
property PrintIfEmpty;
property ReportTitle;
property Units;
property Zoom;
end;
{ TQRLabelSetup }
{$hints off}
TQRLabelSetup = class(TQRUnitBase)
private
FTopMargin : extended;
FSideMargin : extended;
FVerticalPitch : extended;
FLabelWidth : extended;
FLabelHeight : extended;
FHorizontalPitch : extended;
FNumberDown : integer;
FNumberAcross : integer;
FParent : TCustomQuickRep;
protected
function GetValue(Index : integer) : extended;
function GetInteger(Index : integer) : integer;
procedure SetValue(Index : integer; Value : extended);
procedure SetInteger(Index : integer; Value : integer);
public
constructor Create(Parent : TCustomQuickRep);
published
property TopMargin : extended index 0 read GetValue write SetValue stored false;
property SideMargin : extended index 1 read GetValue write SetValue stored false;
property VerticalPitch : extended index 2 read GetValue write SetValue stored false;
property LabelWidth : extended index 3 read GetValue write SetValue stored false;
property LabelHeight : extended index 4 read GetValue write SetValue stored false;
property HorizontalPitch : extended index 5 read GetValue write SetValue stored false;
property NumberDown : integer index 0 read GetInteger write SetInteger stored false;
property NumberAcross : integer index 1 read GetInteger write SetInteger stored false;
end;
{$hints on}
TQuickLabelReport = class(TCustomQuickRep)
private
FLabelSetup : TQRLabelSetup;
public
constructor CreateNew(AOwner : TComponent; Dummy : integer); override;
destructor Destroy; override;
published
property LabelSetup : TQRLabelSetup read FLabelSetup write FLabelSetup;
end;
{ TQRGroup }
TQRGroup = class(TQRCustomBand)
private
Evaluator : TQREvaluator;
FExpression : string;
FFooterBand : TQRBand;
FMaster : TComponent;
FReprint : boolean;
FReprintOnNewPage : boolean;
GroupValue : TQREvResult;
HasResult : boolean;
InGroup : boolean;
PrintPageNumber : integer;
procedure SetFooterBand(Value : TQRBand);
procedure SetMaster(Value : TComponent);
protected
property Reprint : boolean read FReprint write FReprint;
procedure Check;
procedure NewPageCheck;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Prepare;
procedure PrintGroupHeader;
procedure PrintGroupFooter;
procedure SetExpression(Value : string);
procedure SetParent(AParent: TWinControl); override;
procedure Unprepare;
public
constructor Create(AOwner : TComponent); override;
destructor Destroy; override;
published
property Expression : string read FExpression write SetExpression;
property FooterBand : TQRBand read FFooterBand write SetFooterBand;
property Master : TComponent read FMaster write SetMaster;
property ReprintOnNewPage : boolean read FReprintOnNewPage write FReprintOnNewPage;
end;
{ TQRPrintableSize - Class storing size and positioning information for
all printable objects }
TQRPrintableSize = class(TQRUnitBase)
private
FHeight : extended;
FLeft : extended;
FTop : extended;
FWidth : extended;
Parent : TQRPrintable;
function GetValue(Index : integer): extended;
procedure SetValue(Index : integer; Value : extended);
protected
procedure SetParentSizes; override;
procedure ReadValues(Reader : TReader); override;
procedure WriteValues(Writer : TWriter); override;
procedure FixZoom;
public
constructor Create(AParent : TQRPrintable);
published
property Height : extended index 0 read GetValue write SetValue stored false;
property Left : extended index 1 read GetValue write SetValue stored false;
property Top : extended index 2 read GetValue write SetValue stored false;
property Width : extended index 3 read GetValue write SetValue stored false;
end;
{ TQRPrintableEditor }
TQRPrintableClass = class of TQRPrintable;
TQRPrintableEditorClass = class of TQRPrintableEditor;
TQRPrintableEditor = class(TObject)
private
FControl : TQRPrintable;
protected
function GetColor : TColor; virtual;
function GetFont : TFont; virtual;
function GetPrintableClass : TQRPrintableClass; virtual;
function GetValue : string; virtual;
function GetGlyphResName : string; virtual;
function GetControlName : string; virtual;
{$ifndef QRSTANDARD}
function GetAlignment : TAlignment; virtual;
procedure SetAlignment(Value : TAlignment); virtual;
{$endif}
procedure SetColor(Value : TColor); virtual; abstract;
procedure SetFont(Value : TFont); virtual; abstract;
procedure SetValue(Value : string); virtual; abstract;
public
constructor Create(AControl : TQRPrintable); virtual;
function ShowEditor : boolean; virtual; abstract;
{$ifndef QRSTANDARD}
property Alignment : TAlignment read GetAlignment write SetAlignment;
{$endif}
property Control : TQRPrintable read FControl write FControl;
property Color : TColor read GetColor write SetColor;
property Font : TFont read GetFont write SetFont;
property PrintableClass : TQRPrintableClass read GetPrintableClass;
property Value : string read GetValue write SetValue;
property GlyphResName : string read GetGlyphResName;
property ControlName : string read GetControlName;
end;
{ TQRPrintable - Base QuickReport printable object }
TQRPrintable = class(TCustomControl)
private
{ Private variables and methods }
AlignUpdating : boolean;
FAlignment : TAlignment;
FAlignToBand : boolean;
ButtonDown : boolean;
FFrame : TQRFrame;
FIsPrinting : boolean;
FParentReport : TCustomQuickRep;
FPrintFinished : boolean;
FQRPrinter : TQRPrinter;
FSize : TQRPrintableSize;
LoadedTop : integer;
LoadedWidth : integer;
LoadedHeight : integer;
LoadedLeft : integer;
function GetTransparent : boolean;
procedure SetTransparent(Value : boolean);
function GetZoom : integer;
procedure SetAlignToBand(Value : boolean);
procedure SetFrame(Value : TQRFrame);
protected
function IsEnabled : boolean; virtual;
function GetEditorClass : TQRPrintableEditorClass; virtual;
procedure AlignIt; virtual;
procedure Loaded; override;
procedure PaintCorners;
procedure SetParent(AParent: TWinControl); override;
procedure SetZoom(Value : integer);
procedure Paint; override;
procedure Prepare; virtual;
procedure Print(OfsX, OfsY : integer); virtual;
procedure QRNotification(Sender : TObject; Operation : TQRNotifyOperation); virtual;
procedure SetAlignment(Value : TAlignment); virtual;
procedure UnPrepare; virtual;
property Alignment : TAlignment read FAlignment write SetAlignment;
property AlignToBand : boolean read FAlignToBand write SetAlignToBand;
property IsPrinting : boolean read FIsPrinting write FIsPrinting;
property PrintFinished : boolean read FPrintFinished write FPrintFinished;
property QRPrinter : TQRPrinter read FQRPrinter write FQRPrinter;
property Transparent : boolean read GetTransparent write SetTransparent;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure GetExpandedHeight(var newheight : extended ); virtual;
procedure GetFieldString( var DataStr : string); virtual;
procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
property ParentReport : TCustomQuickRep read FParentReport write FParentReport;
property Zoom : integer read GetZoom write SetZoom;
property EditorClass : TQRPrintableEditorClass read GetEditorClass;
published
property Enabled;
property Frame : TQRFrame read FFrame write SetFrame;
property Size : TQRPrintableSize read FSize write FSize;
end;
{ TQRCompositeReport - Component which combines several reports into one }
TQRCompositeReport = class;
TQRCompositeWinControl = class(TWinControl)
protected
ParentReport : TQRCompositeReport;
procedure CMPreviewClose(var Message : TCM_QRPreviewClose); Message CM_QRPREVIEWCLOSE;
procedure CMPrint(var Message : TCM_QRPrint); Message CM_QRPRINT;
public
destructor Destroy; override;
end;
TQRCompositeReport = class(TComponent)
private
FOnAddReports : TNotifyEvent;
FOnFinished : TNotifyEvent;
FOptions : TQuickReportOptions;
FPrinterSettings : TQRCompositePrinterSettings;
FQRPrinter : TQRPrinter;
FReports : TList;
FIndex : integer;
FReportTitle : string;
FGenerating : boolean;
aReport : TQuickRep;
aWinControl : TQRCompositeWinControl;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -