📄 rm_class.pas.~2~
字号:
class function CanPlaceOnGridView: Boolean; virtual;
constructor Create; virtual;
destructor Destroy; override;
procedure Assign(From: TRMView);
procedure CalcGaps; virtual;
procedure RestoreCoord; virtual;
procedure Draw(aCanvas: TCanvas); virtual; abstract;
procedure StreamOut(Stream: TStream); virtual;
procedure ExportData; virtual;
procedure LoadFromStream(Stream: TStream); virtual;
procedure SaveToStream(Stream: TStream); virtual;
procedure Resized; virtual;
procedure DefinePopupMenu(Popup: TPopupMenu); virtual;
function GetClipRgn(rt: TRMRgnType): HRGN; virtual;
procedure CreateUniqueName;
procedure SetBounds(Left, Top, Width, Height: Integer); virtual;
procedure DefineProperties; override;
procedure ShowEditor; virtual;
property PStretched: Boolean read GetStretched write SetStretched;
property PWantHook: Boolean read GetWantHook write SetWantHook;
property PPrintFrame: Boolean read GetPrintFrame write SetPrintFrame;
property PPrintVisible: Boolean read GetPrintVisible write SetPrintVisible;
property PChildView: Boolean read GetChildView write SetChildView;
property PTextOnly: Boolean read GetTextOnly write SetTextOnly;
property POnePerPage: Boolean read GetOnePerPage write SetOnePerPage;
end;
{ TRMControl }
TRMControl = class(TRMView)
private
protected
FControl: TControl;
procedure PaintDesignControl; virtual;
procedure SetPropValue(Index: string; Value: Variant); override;
public
constructor Create; override;
destructor Destroy; override;
procedure DefineProperties; override;
procedure PlaceControl(Form: TForm);
procedure Draw(aCanvas: TCanvas); override;
procedure DefinePopupMenu(Popup: TPopupMenu); override;
property Control: TControl read FControl;
published
end;
{ TRMNonVisualControl }
TRMNonVisualControl = class(TRMControl)
protected
BmpRes: string;
Component: TComponent;
FFixupList: TRMVariables;
procedure SetPropValue(Index: string; Value: Variant); override;
procedure PaintDesignControl; override;
public
constructor Create; override;
destructor Destroy; override;
procedure DefineProperties; override;
procedure PlaceControl(Form: TForm);
procedure Draw(aCanvas: TCanvas); override;
end;
{ TRMRegionView }
TRMRegionView = class(TRMView)
private
protected
public
class function CanPlaceOnGridView: Boolean; override;
constructor Create; override;
destructor Destroy; override;
procedure BeforeMove(aPage: TRMPage; aKx, aKy: Integer);
procedure Draw(aCanvas: TCanvas); override;
procedure DefineProperties; override;
end;
{ TRMStretcheable }
TRMStretcheable = class(TRMView)
private
protected
ActualHeight: Integer;
DrawMode: TRMDrawMode;
function CalcHeight: Integer; virtual; abstract;
function MinHeight: Integer; virtual; abstract;
function LostSpace: Integer; virtual; abstract;
function RemainHeight: Integer; virtual; abstract;
public
end;
{ TRMMemoView }
TRMMemoView = class(TRMStretcheable)
private
FFontScaleWidth: Word;
FLastStreamPosition: Integer;
FLasty: Integer;
FFont: TFont;
FLastValue, FLastValue1: string;
FWrapped: Boolean;
FScaleFontType: TRMScaleFontType;
procedure P1Click(Sender: TObject);
procedure P2Click(Sender: TObject);
procedure P5Click(Sender: TObject);
procedure P6Click(Sender: TObject);
procedure P8Click(Sender: TObject);
procedure P9Click(Sender: TObject);
procedure P10Click(Sender: TObject);
procedure P11Click(Sender: TObject);
procedure SetFont(Value: TFont);
function GetAlignment: TRMAlignment;
procedure SetAlignment(value: TRMAlignment);
function GetLayout: TRMLayout;
procedure SetLayout(value: TRMLayout);
function GetUnderlines: Boolean;
procedure SetUnderlines(value: Boolean);
function GetHideZeros: Boolean;
procedure SetHideZeros(value: Boolean);
function GetWordWrap: Boolean;
procedure SetWordWrap(value: Boolean);
function GetAutoSize: Boolean;
procedure SetAutoSize(value: Boolean);
function GetSuppressRepeated: Boolean;
procedure SetSuppressRepeated(value: Boolean);
function GetRotation90: Boolean;
procedure SetRotation90(value: Boolean);
function GetWordBreak: Boolean;
procedure SetWordBreak(Value: Boolean);
function GetMergeRepeated: Boolean;
procedure SetMergeRepeate(Value: Boolean);
function GetMangeTag: Boolean;
procedure SetMangeTag(Value: Boolean);
function GetScaleFontSize: Boolean;
procedure SetScaleFontSize(Value: Boolean);
function GetPrintAtAppendBlank: Boolean;
procedure SetPrintAtAppendBlank(Value: Boolean);
protected
Streaming: Boolean;
TextHeight: Integer;
CurStrNo: Integer;
Exporting: Boolean;
FMergeEmpty: Boolean;
procedure ExpandMemoVariables; virtual;
procedure AssignFont(aCanvas: TCanvas);
procedure WrapMemo;
procedure ShowMemo;
procedure ShowUnderLines;
function CalcWidth(Memo: TStringList): Integer;
function CalcHeight: Integer; override;
function MinHeight: Integer; override;
function LostSpace: Integer; override;
function RemainHeight: Integer; override;
procedure GetBlob(b: TField); override;
procedure SetPropValue(Index: string; Value: Variant); override;
function GetPropValue(Index: string): Variant; override;
function DoMethod(const MethodName: string; Pars: array of Variant): Variant; override;
function AllowInplaceEdit: boolean; override;
procedure InplaceEdit(aParent: TWinControl; var InplaceEditor: TWinControl); override;
procedure SaveInplaceEdit(aInplaceEditor: TWinControl); override;
property LastValue: string read FLastValue write FLastValue;
public
Alignment: Integer;
Highlight: TRMHighlightAttr;
HighlightStr: string;
LineSpacing, CharacterSpacing: Integer;
RotationType: TRMRotationType;
constructor Create; override;
destructor Destroy; override;
procedure Draw(aCanvas: TCanvas); override;
procedure StreamOut(Stream: TStream); override;
procedure ExportData; override;
procedure LoadFromStream(Stream: TStream); override;
procedure SaveToStream(Stream: TStream); override;
procedure DefinePopupMenu(Popup: TPopupMenu); override;
procedure DefineProperties; override;
procedure ShowEditor; override;
property Font: TFont read FFont write SetFont;
property PAlignment: TRMAlignment read GetAlignment write SetAlignment;
property PLayout: TRMLayout read GetLayout write SetLayout;
property PUnderlines: Boolean read GetUnderlines write SetUnderlines;
property PHideZeros: Boolean read GetHideZeros write SetHideZeros;
property PWordWrap: Boolean read GetWordWrap write SetWordWrap;
property PAutoSize: Boolean read GetAutoSize write SetAutoSize;
property PSuppressRepeated: Boolean read GetSuppressRepeated write SetSuppressRepeated;
property PMergeRepeated: Boolean read GetMergeRepeated write SetMergeRepeate;
property PRotation90: Boolean read GetRotation90 write SetRotation90;
property PWordBreak: Boolean read GetWordBreak write SetWordBreak;
property PMangeTag: Boolean read GetMangeTag write SetMangeTag;
property PScaleFontSize: Boolean read GetScaleFontSize write SetScaleFontSize;
property PPrintAtAppendBlank: Boolean read GetPrintAtAppendBlank write SetPrintAtAppendBlank;
end;
{ TRMBandView }
TRMBandView = class(TRMView)
private
FColumns: integer;
procedure P1Click(Sender: TObject);
procedure P2Click(Sender: TObject);
procedure P3Click(Sender: TObject);
procedure P4Click(Sender: TObject);
procedure P5Click(Sender: TObject);
procedure P6Click(Sender: TObject);
procedure P7Click(Sender: TObject);
procedure P8Click(Sender: TObject);
function GetBandType: TRMBandType;
procedure SetBandType(const Value: TRMBandType);
function GetRectangleWidth: Integer;
function GetBandNewPage: Boolean;
procedure SetBandNewPage(value: Boolean);
function GetPrintEmpty: Boolean;
procedure SetPrintEmpty(value: Boolean);
function GetBreaked: Boolean;
procedure SetBreaked(value: Boolean);
function GetOnFirstPage: Boolean;
procedure SetOnFirstPage(value: Boolean);
function GetOnLastPage: Boolean;
procedure SetOnLastPage(value: Boolean);
function GetRepeatHeader: Boolean;
procedure SetRepeatHeader(value: Boolean);
function GetPrintChildIfInvisible: Boolean;
procedure SetPrintChildIfInvisible(value: Boolean);
function GetAutoAppendBlank: Boolean;
procedure SetAutoAppendBlank(value: Boolean);
function GetPrintColFirst: Boolean;
procedure SetPrintColFirst(value: Boolean);
procedure SetColumns(Value: Integer);
function GetPrintatDesignPos: Boolean;
procedure SetPrintatDesignPos(Value: Boolean);
protected
procedure SetPropValue(Index: string; Value: Variant); override;
function GetPropValue(Index: string): Variant; override;
function DoMethod(const MethodName: string; Pars: array of Variant): Variant; override;
property NewPageCondition: string read Tag write Tag;
public
ChildBand, Master: string;
ColumnWidth: integer;
ColumnGap: integer;
NewColumnAfter: Integer;
LinesPerPage: Word;
RangeBegin, RangeEnd: Byte;
RangeEndCount: Integer;
constructor Create; override;
procedure Draw(aCanvas: TCanvas); override;
procedure LoadFromStream(Stream: TStream); override;
procedure SaveToStream(Stream: TStream); override;
procedure DefinePopupMenu(Popup: TPopupMenu); override;
procedure DefineProperties; override;
function GetClipRgn(rt: TRMRgnType): HRGN; override;
property Columns: integer read FColumns write SetColumns;
property BandType: TRMBandType read GetBandType write SetBandType;
property DataSet: string read FormatStr write FormatStr;
property GroupCondition: string read FormatStr write FormatStr;
property PNewPageAfter: Boolean read GetBandNewPage write SetBandNewPage;
property PPrintIfSubsetEmpty: Boolean read GetPrintEmpty write SetPrintEmpty;
property PBreaked: Boolean read GetBreaked write SetBreaked;
property POnFirstPage: Boolean read GetOnFirstPage write SetOnFirstPage;
property POnLastPage: Boolean read GetOnLastPage write SetOnLastPage;
property PRepeatHeader: Boolean read GetRepeatHeader write SetRepeatHeader;
property PPrintChildIfInvisible: Boolean read GetPrintChildIfInvisible write SetPrintChildIfInvisible;
property PAutoAppendBlank: Boolean read GetAutoAppendBlank write SetAutoAppendBlank;
property PPrintColFirst: Boolean read GetPrintColFirst write SetPrintColFirst;
property PPrintatDesignPos: Boolean read GetPrintatDesignPos write SetPrintatDesignPos;
end;
{ TRMSubReportView }
TRMSubReportView = class(TRMView)
public
SubPage: Integer;
constructor Create; override;
procedure Draw(aCanvas: TCanvas); override;
procedure LoadFromStream(Stream: TStream); override;
procedure SaveToStream(Stream: TStream); override;
procedure DefinePopupMenu(Popup: TPopupMenu); override;
end;
{ TRMPictureView }
TRMPictureView = class(TRMView)
private
FPicture: TPicture;
procedure P1Click(Sender: TObject);
procedure P2Click(Sender: TObject);
function GetPictureCenter: Boolean;
procedure SetPictureCenter(const value: Boolean);
function GetPictureRatio: Boolean;
procedure SetPictureRatio(value: Boolean);
function GetTransparent: Boolean;
procedure SetTransparent(value: Boolean);
protected
function GetViewCommon: string; override;
procedure SetPropValue(Index: string; Value: Variant); override;
function GetPropValue(Index: string): Variant; override;
function DoMethod(const MethodName: string; Pars: array of Variant): Variant; override;
procedure GetBlob(b: TField); override;
public
BlobType: Byte;
constructor Create; override;
destructor Destroy; override;
procedure Draw(aCanvas: TCanvas); override;
procedure LoadFromStream(Stream: TStream); override;
procedure SaveToStream(Stream: TStream); override;
procedure DefinePopupMenu(Popup: TPopupMenu); override;
procedure DefineProperties; override;
procedure ShowEditor; override;
property Picture: TPicture read FPicture;
property PPictureCenter: Boolean read GetPictureCenter write SetPictureCenter;
property PPictureRatio: Boolean read GetPictureRatio write SetPictureRatio;
property PTransparent: Boolean read GetTransparent write SetTransparent;
end;
{ TRMLineView }
TRMLineView = class(TRMStretcheable)
public
constructor Create; override;
procedure Draw(aCanvas: TCanvas); override;
function CalcHeight: Integer; override;
function MinHeight: Integer; override;
function LostSpace: Integer; override;
function RemainHeight: Integer; override;
procedure DefineProperties; override;
end;
{ TRMCalcMemoView }
TRMCalcMemoView = class(TRMMemoView)
private
FMyVersion: Byte;
FValueIndex: Integer;
FValues: TStringList;
FAggrBandName: string;
FResetAfterPrint: Boolean;
FCalcType: TRMDBCalcType;
FFilter, FOPZFilter: string;
FValue: Double;
FResAssigned: Boolean;
FSum: Double;
FCount: Integer;
FExpression: string;
FIntalizeValue: string;
FAggregateValue: string;
function GetValue: Double;
procedure P2Click(Sender: TObject);
procedure ResetValues;
procedure AfterPrint;
function GetTotalCalc: Boolean;
procedure SetTotalCalc(aValue: Boolean);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -