📄 frxcross.hpp
字号:
};
class DELPHICLASS TfrxCutBands;
class PASCALIMPLEMENTATION TfrxCutBands : public Classes::TCollection
{
typedef Classes::TCollection inherited;
public:
TfrxCutBandItem* operator[](int Index) { return Items[Index]; }
private:
TfrxCutBandItem* __fastcall GetItems(int Index);
public:
__fastcall TfrxCutBands(void);
HIDESBASE void __fastcall Add(Frxclass::TfrxBand* ABand, int AFromIndex, int AToIndex);
__property TfrxCutBandItem* Items[int Index] = {read=GetItems/*, default*/};
public:
#pragma option push -w-inl
/* TCollection.Destroy */ inline __fastcall virtual ~TfrxCutBands(void) { }
#pragma option pop
};
class DELPHICLASS TfrxGridLineItem;
class PASCALIMPLEMENTATION TfrxGridLineItem : public Classes::TCollectionItem
{
typedef Classes::TCollectionItem inherited;
public:
Extended Coord;
Classes::TList* Objects;
__fastcall virtual TfrxGridLineItem(Classes::TCollection* Collection);
__fastcall virtual ~TfrxGridLineItem(void);
};
class DELPHICLASS TfrxGridLines;
class PASCALIMPLEMENTATION TfrxGridLines : public Classes::TCollection
{
typedef Classes::TCollection inherited;
public:
TfrxGridLineItem* operator[](int Index) { return Items[Index]; }
private:
TfrxGridLineItem* __fastcall GetItems(int Index);
public:
__fastcall TfrxGridLines(void);
HIDESBASE void __fastcall Add(System::TObject* AObj, Extended ACoord);
__property TfrxGridLineItem* Items[int Index] = {read=GetItems/*, default*/};
public:
#pragma option push -w-inl
/* TCollection.Destroy */ inline __fastcall virtual ~TfrxGridLines(void) { }
#pragma option pop
};
class DELPHICLASS TfrxCustomCrossView;
class PASCALIMPLEMENTATION TfrxCustomCrossView : public Frxclass::TfrxView
{
typedef Frxclass::TfrxView inherited;
private:
Extended FAddHeight;
Extended FAddWidth;
bool FAllowDuplicates;
bool FAutoSize;
bool FBorder;
Classes::TStrings* FCellFields;
TfrxCrossFunction FCellFunctions[32];
int FCellLevels;
bool FClearBeforePrint;
TfrxCutBands* FColumnBands;
Classes::TStrings* FColumnFields;
TfrxCrossColumnHeader* FColumnHeader;
int FColumnLevels;
TfrxCrossColumns* FColumns;
TfrxCrossSortOrder FColumnSort[32];
TfrxCrossCorner* FCorner;
int FDefHeight;
bool FDotMatrix;
bool FDownThenAcross;
#pragma pack(push,1)
Types::TPoint FFirstMousePos;
#pragma pack(pop)
int FGapX;
int FGapY;
TfrxGridLines* FGridUsed;
TfrxGridLines* FGridX;
TfrxGridLines* FGridY;
bool FJoinEqualCells;
bool FKeepTogether;
#pragma pack(push,1)
Types::TPoint FLastMousePos;
#pragma pack(pop)
int FMaxWidth;
int FMinWidth;
bool FMouseDown;
int FMovingObjects;
TfrxCustomCrossView* FNextCross;
Extended FNextCrossGap;
bool FNoColumns;
bool FNoRows;
bool FPlainCells;
bool FRepeatHeaders;
TfrxCutBands* FRowBands;
Classes::TStrings* FRowFields;
TfrxCrossRowHeader* FRowHeader;
int FRowLevels;
TfrxCrossRows* FRows;
TfrxCrossSortOrder FRowSort[32];
bool FShowColumnHeader;
bool FShowColumnTotal;
bool FShowCorner;
bool FShowRowHeader;
bool FShowRowTotal;
bool FShowTitle;
bool FSuppressNullRecords;
Classes::TList* FAllMemos;
Classes::TList* FCellMemos;
Classes::TList* FCellHeaderMemos;
Classes::TList* FColumnMemos;
Classes::TList* FColumnTotalMemos;
Classes::TList* FCornerMemos;
Classes::TList* FRowMemos;
Classes::TList* FRowTotalMemos;
AnsiString FOnCalcHeight;
AnsiString FOnCalcWidth;
AnsiString FOnPrintCell;
AnsiString FOnPrintColumnHeader;
AnsiString FOnPrintRowHeader;
TfrxOnCalcHeightEvent FOnBeforeCalcHeight;
TfrxOnCalcWidthEvent FOnBeforeCalcWidth;
TfrxOnPrintCellEvent FOnBeforePrintCell;
TfrxOnPrintHeaderEvent FOnBeforePrintColumnHeader;
TfrxOnPrintHeaderEvent FOnBeforePrintRowHeader;
void __fastcall CalcBounds(Extended addWidth, Extended addHeight);
void __fastcall CalcTotal(TfrxCrossHeader* Header, TfrxIndexCollection* Source);
void __fastcall CalcTotals(void);
void __fastcall CreateHeader(TfrxCrossHeader* Header, TfrxIndexCollection* Source, Classes::TList* Totals, bool TotalVisible);
void __fastcall CreateHeaders(void);
void __fastcall AddSourceObjects(void);
void __fastcall BuildColumnBands(void);
void __fastcall BuildRowBands(void);
void __fastcall ClearMatrix(void);
void __fastcall ClearMemos(void);
void __fastcall CreateCellHeaderMemos(int NewCount);
void __fastcall CreateCellMemos(int NewCount);
void __fastcall CreateColumnMemos(int NewCount);
void __fastcall CreateCornerMemos(int NewCount);
void __fastcall CreateRowMemos(int NewCount);
void __fastcall CorrectDMPBounds(Frxclass::TfrxCustomMemoView* Memo);
void __fastcall DoCalcHeight(int Row, Extended &Height);
void __fastcall DoCalcWidth(int Column, Extended &Width);
void __fastcall DoOnCell(Frxclass::TfrxCustomMemoView* Memo, int Row, int Column, int Cell, const Variant &Value);
void __fastcall DoOnColumnHeader(Frxclass::TfrxCustomMemoView* Memo, TfrxCrossHeader* Header);
void __fastcall DoOnRowHeader(Frxclass::TfrxCustomMemoView* Memo, TfrxCrossHeader* Header);
void __fastcall InitMatrix(void);
void __fastcall InitMemos(bool AddToScript);
void __fastcall ReadMemos(Classes::TStream* Stream);
void __fastcall RenderMatrix(void);
void __fastcall SetCellFields(const Classes::TStrings* Value);
void __fastcall SetCellFunctions(int Index, const TfrxCrossFunction Value);
void __fastcall SetColumnFields(const Classes::TStrings* Value);
void __fastcall SetColumnSort(int Index, TfrxCrossSortOrder Value);
void __fastcall SetDotMatrix(const bool Value);
void __fastcall SetRowFields(const Classes::TStrings* Value);
void __fastcall SetRowSort(int Index, TfrxCrossSortOrder Value);
void __fastcall SetupOriginalComponent(Frxclass::TfrxComponent* Obj1, Frxclass::TfrxComponent* Obj2);
void __fastcall UpdateVisibility(void);
void __fastcall WriteMemos(Classes::TStream* Stream);
Frxclass::TfrxCustomMemoView* __fastcall CreateMemo(Frxclass::TfrxComponent* Parent);
TfrxCrossFunction __fastcall GetCellFunctions(int Index);
Frxclass::TfrxCustomMemoView* __fastcall GetCellHeaderMemos(int Index);
Frxclass::TfrxCustomMemoView* __fastcall GetCellMemos(int Index);
Frxclass::TfrxCustomMemoView* __fastcall GetColumnMemos(int Index);
TfrxCrossSortOrder __fastcall GetColumnSort(int Index);
Frxclass::TfrxCustomMemoView* __fastcall GetColumnTotalMemos(int Index);
Frxclass::TfrxCustomMemoView* __fastcall GetCornerMemos(int Index);
Classes::TList* __fastcall GetNestedObjects(void);
Frxclass::TfrxCustomMemoView* __fastcall GetRowMemos(int Index);
TfrxCrossSortOrder __fastcall GetRowSort(int Index);
Frxclass::TfrxCustomMemoView* __fastcall GetRowTotalMemos(int Index);
protected:
virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
virtual void __fastcall SetCellLevels(const int Value);
virtual void __fastcall SetColumnLevels(const int Value);
virtual void __fastcall SetRowLevels(const int Value);
virtual Classes::TList* __fastcall GetContainerObjects(void);
public:
__fastcall virtual TfrxCustomCrossView(Classes::TComponent* AOwner);
__fastcall virtual ~TfrxCustomCrossView(void);
virtual void __fastcall Draw(Graphics::TCanvas* Canvas, Extended ScaleX, Extended ScaleY, Extended OffsetX, Extended OffsetY);
virtual void __fastcall BeforePrint(void);
virtual void __fastcall BeforeStartReport(void);
virtual void __fastcall GetData(void);
virtual bool __fastcall ContainerAdd(Frxclass::TfrxComponent* Obj);
virtual bool __fastcall ContainerMouseDown(System::TObject* Sender, int X, int Y);
virtual void __fastcall ContainerMouseMove(System::TObject* Sender, int X, int Y);
virtual void __fastcall ContainerMouseUp(System::TObject* Sender, int X, int Y);
void __fastcall AddValue(Variant const * Rows, const int Rows_Size, Variant const * Columns, const int Columns_Size, Variant const * Cells, const int Cells_Size);
void __fastcall ApplyStyle(Frxclass::TfrxStyles* Style);
void __fastcall BeginMatrix(void);
void __fastcall EndMatrix(void);
virtual void __fastcall FillMatrix(void);
void __fastcall GetStyle(Frxclass::TfrxStyles* Style);
int __fastcall ColCount(void);
Frxclass::TfrxPoint __fastcall DrawCross(Graphics::TCanvas* Canvas, Extended ScaleX, Extended ScaleY, Extended OffsetX, Extended OffsetY);
Variant __fastcall GetColumnIndexes(int AColumn);
Variant __fastcall GetRowIndexes(int ARow);
Variant __fastcall GetValue(int ARow, int AColumn, int ACell);
virtual bool __fastcall IsCrossValid(void);
bool __fastcall IsGrandTotalColumn(int Index);
bool __fastcall IsGrandTotalRow(int Index);
bool __fastcall IsTotalColumn(int Index);
bool __fastcall IsTotalRow(int Index);
int __fastcall RowCount(void);
Extended __fastcall RowHeaderWidth(void);
Extended __fastcall ColumnHeaderHeight(void);
__property TfrxCrossColumnHeader* ColumnHeader = {read=FColumnHeader};
__property TfrxCrossRowHeader* RowHeader = {read=FRowHeader};
__property TfrxCrossCorner* Corner = {read=FCorner};
__property bool NoColumns = {read=FNoColumns, nodefault};
__property bool NoRows = {read=FNoRows, nodefault};
__property Classes::TStrings* CellFields = {read=FCellFields, write=SetCellFields};
__property TfrxCrossFunction CellFunctions[int Index] = {read=GetCellFunctions, write=SetCellFunctions};
__property Frxclass::TfrxCustomMemoView* CellMemos[int Index] = {read=GetCellMemos};
__property Frxclass::TfrxCustomMemoView* CellHeaderMemos[int Index] = {read=GetCellHeaderMemos};
__property bool ClearBeforePrint = {read=FClearBeforePrint, write=FClearBeforePrint, nodefault};
__property Classes::TStrings* ColumnFields = {read=FColumnFields, write=SetColumnFields};
__property Frxclass::TfrxCustomMemoView* ColumnMemos[int Index] = {read=GetColumnMemos};
__property TfrxCrossSortOrder ColumnSort[int Index] = {read=GetColumnSort, write=SetColumnSort};
__property Frxclass::TfrxCustomMemoView* ColumnTotalMemos[int Index] = {read=GetColumnTotalMemos};
__property Frxclass::TfrxCustomMemoView* CornerMemos[int Index] = {read=GetCornerMemos};
__property bool DotMatrix = {read=FDotMatrix, nodefault};
__property Classes::TStrings* RowFields = {read=FRowFields, write=SetRowFields};
__property Frxclass::TfrxCustomMemoView* RowMemos[int Index] = {read=GetRowMemos};
__property TfrxCrossSortOrder RowSort[int Index] = {read=GetRowSort, write=SetRowSort};
__property Frxclass::TfrxCustomMemoView* RowTotalMemos[int Index] = {read=GetRowTotalMemos};
__property TfrxOnCalcHeightEvent OnBeforeCalcHeight = {read=FOnBeforeCalcHeight, write=FOnBeforeCalcHeight};
__property TfrxOnCalcWidthEvent OnBeforeCalcWidth = {read=FOnBeforeCalcWidth, write=FOnBeforeCalcWidth};
__property TfrxOnPrintCellEvent OnBeforePrintCell = {read=FOnBeforePrintCell, write=FOnBeforePrintCell};
__property TfrxOnPrintHeaderEvent OnBeforePrintColumnHeader = {read=FOnBeforePrintColumnHeader, write=FOnBeforePrintColumnHeader};
__property TfrxOnPrintHeaderEvent OnBeforePrintRowHeader = {read=FOnBeforePrintRowHeader, write=FOnBeforePrintRowHeader};
__published:
__property Extended AddHeight = {read=FAddHeight, write=FAddHeight};
__property Extended AddWidth = {read=FAddWidth, write=FAddWidth};
__property bool AllowDuplicates = {read=FAllowDuplicates, write=FAllowDuplicates, default=1};
__property bool AutoSize = {read=FAutoSize, write=FAutoSize, default=1};
__property bool Border = {read=FBorder, write=FBorder, default=1};
__property int CellLevels = {read=FCellLevels, write=SetCellLevels, default=1};
__property int ColumnLevels = {read=FColumnLevels, write=SetColumnLevels, default=1};
__property int DefHeight = {read=FDefHeight, write=FDefHeight, default=0};
__property bool DownThenAcross = {read=FDownThenAcross, write=FDownThenAcross, nodefault};
__property int GapX = {read=FGapX, write=FGapX, default=3};
__property int GapY = {read=FGapY, write=FGapY, default=3};
__property bool JoinEqualCells = {read=FJoinEqualCells, write=FJoinEqualCells, default=0};
__property bool KeepTogether = {read=FKeepTogether, write=FKeepTogether, default=0};
__property int MaxWidth = {read=FMaxWidth, write=FMaxWidth, default=200};
__property int MinWidth = {read=FMinWidth, write=FMinWidth, default=0};
__property TfrxCustomCrossView* NextCross = {read=FNextCross, write=FNextCross};
__property Extended NextCrossGap = {read=FNextCrossGap, write=FNextCrossGap};
__property bool PlainCells = {read=FPlainCells, write=FPlainCells, default=0};
__property bool RepeatHeaders = {read=FRepeatHeaders, write=FRepeatHeaders, default=1};
__property int RowLevels = {read=FRowLevels, write=SetRowLevels, default=1};
__property bool ShowColumnHeader = {read=FShowColumnHeader, write=FShowColumnHeader, default=1};
__property bool ShowColumnTotal = {read=FShowColumnTotal, write=FShowColumnTotal, default=1};
__property bool ShowCorner = {read=FShowCorner, write=FShowCorner, default=1};
__property bool ShowRowHeader = {read=FShowRowHeader, write=FShowRowHeader, default=1};
__property bool ShowRowTotal = {read=FShowRowTotal, write=FShowRowTotal, default=1};
__property bool ShowTitle = {read=FShowTitle, write=FShowTitle, default=1};
__property bool SuppressNullRecords = {read=FSuppressNullRecords, write=FSuppressNullRecords, default=1};
__property AnsiString OnCalcHeight = {read=FOnCalcHeight, write=FOnCalcHeight};
__property AnsiString OnCalcWidth = {read=FOnCalcWidth, write=FOnCalcWidth};
__property AnsiString OnPrintCell = {read=FOnPrintCell, write=FOnPrintCell};
__property AnsiString OnPrintColumnHeader = {read=FOnPrintColumnHeader, write=FOnPrintColumnHeader};
__property AnsiString OnPrintRowHeader = {read=FOnPrintRowHeader, write=FOnPrintRowHeader};
public:
#pragma option push -w-inl
/* TfrxComponent.DesignCreate */ inline __fastcall virtual TfrxCustomCrossView(Classes::TComponent* AOwner, Word Flags) : Frxclass::TfrxView(AOwner, Flags) { }
#pragma option pop
};
class DELPHICLASS TfrxCrossView;
class PASCALIMPLEMENTATION TfrxCrossView : public TfrxCustomCrossView
{
typedef TfrxCustomCrossView inherited;
protected:
virtual void __fastcall SetCellLevels(const int Value);
virtual void __fastcall SetColumnLevels(const int Value);
virtual void __fastcall SetRowLevels(const int Value);
public:
#pragma option push -w-inl
/* virtual class method */ virtual AnsiString __fastcall GetDescription() { return GetDescription(__classid(TfrxCrossView)); }
#pragma option pop
/* class method */ static AnsiString __fastcall GetDescription(TMetaClass* vmt);
virtual bool __fastcall IsCrossValid(void);
public:
#pragma option push -w-inl
/* TfrxCustomCrossView.Create */ inline __fastcall virtual TfrxCrossView(Classes::TComponent* AOwner) : TfrxCustomCrossView(AOwner) { }
#pragma option pop
#pragma option push -w-inl
/* TfrxCustomCrossView.Destroy */ inline __fastcall virtual ~TfrxCrossView(void) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TfrxComponent.DesignCreate */ inline __fastcall virtual TfrxCrossView(Classes::TComponent* AOwner, Word Flags) : TfrxCustomCrossView(AOwner, Flags) { }
#pragma option pop
};
class DELPHICLASS TfrxDBCrossView;
class PASCALIMPLEMENTATION TfrxDBCrossView : public TfrxCustomCrossView
{
typedef TfrxCustomCrossView inherited;
public:
#pragma option push -w-inl
/* virtual class method */ virtual AnsiString __fastcall GetDescription() { return GetDescription(__classid(TfrxDBCrossView)); }
#pragma option pop
/* class method */ static AnsiString __fastcall GetDescription(TMetaClass* vmt);
virtual bool __fastcall IsCrossValid(void);
virtual void __fastcall FillMatrix(void);
__published:
__property CellFields ;
__property ColumnFields ;
__property DataSet ;
__property DataSetName ;
__property RowFields ;
public:
#pragma option push -w-inl
/* TfrxCustomCrossView.Create */ inline __fastcall virtual TfrxDBCrossView(Classes::TComponent* AOwner) : TfrxCustomCrossView(AOwner) { }
#pragma option pop
#pragma option push -w-inl
/* TfrxCustomCrossView.Destroy */ inline __fastcall virtual ~TfrxDBCrossView(void) { }
#pragma option pop
public:
#pragma option push -w-inl
/* TfrxComponent.DesignCreate */ inline __fastcall virtual TfrxDBCrossView(Classes::TComponent* AOwner, Word Flags) : TfrxCustomCrossView(AOwner, Flags) { }
#pragma option pop
};
//-- var, const, procedure ---------------------------------------------------
} /* namespace Frxcross */
using namespace Frxcross;
#pragma pack(pop)
#pragma option pop
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // Frxcross
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -