cxgridbandedtableview.pas
来自「胜天进销存源码,国产优秀的进销存」· PAS 代码 · 共 1,455 行 · 第 1/5 页
PAS
1,455 行
property BandViewInfo: TcxGridBandViewInfo read GetBandViewInfo;
property ColumnViewInfoCount: Integer read GetColumnViewInfoCount;
property ColumnViewInfos[Index: Integer]: TcxGridBandedColumnHeaderViewInfo read GetColumnViewInfo; default;
property Index: Integer read FIndex;
property MinWidth: Integer read GetMinWidth;
property RowsViewInfo: TcxGridBandRowsViewInfo read FRowsViewInfo;
property Height: Integer read GetHeight;
property Width: Integer read GetWidth;
end;
TcxGridBandRowsViewInfoClass = class of TcxGridBandRowsViewInfo;
TcxGridBandRowsViewInfo = class
private
FBandViewInfo: TcxGridBandViewInfo;
FItems: TList;
FWidth: Integer;
function GetBandRows: TcxGridBandRows;
function GetCount: Integer;
function GetItem(Index: Integer): TcxGridBandRowViewInfo;
function GetMinWidth: Integer;
function GetWidth: Integer;
procedure CreateItems;
procedure DestroyItems;
protected
procedure AssignColumnWidths;
procedure Calculate(const ABounds: TRect); virtual;
procedure CalculateColumnWidths; virtual;
function CalculateWidth: Integer; virtual;
function GetBandRowViewInfoClass: TcxGridBandRowViewInfoClass; virtual;
public
Bounds: TRect;
constructor Create(ABandViewInfo: TcxGridBandViewInfo); virtual;
destructor Destroy; override;
//function GetColumnsHitTest(const P: TPoint): TcxCustomGridHitTest; virtual;
function IndexAtPos(const P: TPoint): Integer;
procedure Offset(DX, DY: Integer); virtual;
property BandRows: TcxGridBandRows read GetBandRows;
property BandViewInfo: TcxGridBandViewInfo read FBandViewInfo;
property Count: Integer read GetCount;
property Items[Index: Integer]: TcxGridBandRowViewInfo read GetItem; default;
property MinWidth: Integer read GetMinWidth;
property Width: Integer read GetWidth;
end;
TcxGridBandViewInfoClass = class of TcxGridBandViewInfo;
TcxGridBandViewInfo = class(TcxCustomGridCellViewInfo)
private
FBandsViewInfo: TcxGridBandsViewInfo;
FBottomIndex: Integer;
FColumnViewInfos: TList;
FHeaderViewInfo: TcxGridBandHeaderViewInfo;
FIndex: Integer;
FRowsViewInfo: TcxGridBandRowsViewInfo;
FWidth: Integer;
function GetBand: TcxGridBand;
function GetBoundsForBandInsert: TRect;
function GetChildBandViewInfo(Index: Integer): TcxGridBandViewInfo;
function GetChildBandViewInfoCount: Integer;
function GetColumnViewInfo(Index: Integer): TcxGridBandedColumnHeaderViewInfo;
function GetColumnViewInfoCount: Integer;
function GetContainerViewInfo: TcxGridBandedHeaderViewInfo;
function GetFixedKind: TcxGridBandFixedKind;
function GetGridView: TcxGridBandedTableView;
function GetGridViewInfo: TcxGridBandedTableViewInfo;
function GetIsBottom: Boolean;
function GetIsFixed: Boolean;
function GetIsRight: Boolean;
function GetIsRoot: Boolean;
function GetParentBandViewInfo: TcxGridBandViewInfo;
function GetRowCount: Integer;
function GetSameLevelAutoWidth: Integer;
function GetSameLevelItem(Index: Integer): TcxGridBandViewInfo;
function GetSameLevelItemCount: Integer;
protected
procedure AddColumnViewInfos; virtual;
procedure AssignChildBandWidths;
procedure AssignColumnWidths;
procedure CalculateChildBandWidths; virtual;
procedure CalculateChildBands(R: TRect); virtual;
function CalculateChildBandsBounds: TRect; virtual;
function CalculateColumnsBounds: TRect; virtual;
procedure CalculateColumnWidths; virtual;
function CalculateHeaderBounds: TRect; virtual;
//function CalculateHeaderHeightWithChildren: Integer;
function CalculateHeight: Integer; override;
function CalculateWidth: Integer; override;
function CanSize: Boolean; virtual;
procedure CheckWidth(var Value: Integer); virtual;
function CustomDrawBackground(ACanvas: TcxCanvas): Boolean; override;
function GetAreAllColumnsFixed: Boolean; virtual;
function GetBackgroundBitmap: TBitmap; override;
function GetBorderColor(AIndex: TcxBorder): TColor; override;
function GetBorders: TcxBorders; override;
function GetBorderWidth(AIndex: TcxBorder): Integer; override;
function GetCanvas: TcxCanvas; override;
function GetContentWidth: Integer; override;
class function GetHeaderViewInfoClass: TcxGridBandHeaderViewInfoClass; virtual;
function GetHitTestClass: TcxCustomGridHitTestClass; override;
function GetMaxContentWidth: Integer; virtual;
function GetMaxWidth: Integer; virtual;
function GetMinContentWidth: Integer; virtual;
function GetMinWidth: Integer; virtual;
function GetPainterClass: TcxCustomGridCellPainterClass; override;
function GetRowsViewInfoClass: TcxGridBandRowsViewInfoClass; virtual;
procedure GetViewParams(var AParams: TcxViewParams); override;
function GetWidth: Integer; override;
procedure InitHitTest(AHitTest: TcxCustomGridHitTest); override;
procedure Offset(DX, DY: Integer); override;
procedure SetWidth(Value: Integer); override;
property BoundsForBandInsert: TRect read GetBoundsForBandInsert;
public
constructor Create(ABandsViewInfo: TcxGridBandsViewInfo; AIndex: Integer); virtual;
destructor Destroy; override;
procedure Calculate(const ABounds: TRect); override;
function GetHitTest(const P: TPoint): TcxCustomGridHitTest; override;
procedure InitAutoWidthItem(AAutoWidthItem: TcxAutoWidthItem);
function InsertPositionAtPos(const P: TPoint; out ABand: TcxGridBand;
out AInsertPosition: TcxPosition): Boolean;
property AreAllColumnsFixed: Boolean read GetAreAllColumnsFixed;
property Band: TcxGridBand read GetBand;
property BandsViewInfo: TcxGridBandsViewInfo read FBandsViewInfo;
property BottomIndex: Integer read FBottomIndex;
property ChildBandViewInfoCount: Integer read GetChildBandViewInfoCount;
property ChildBandViewInfos[Index: Integer]: TcxGridBandViewInfo read GetChildBandViewInfo;
property ColumnViewInfoCount: Integer read GetColumnViewInfoCount;
property ColumnViewInfos[Index: Integer]: TcxGridBandedColumnHeaderViewInfo read GetColumnViewInfo; default;
property ContainerViewInfo: TcxGridBandedHeaderViewInfo read GetContainerViewInfo;
property FixedKind: TcxGridBandFixedKind read GetFixedKind;
property GridView: TcxGridBandedTableView read GetGridView;
property GridViewInfo: TcxGridBandedTableViewInfo read GetGridViewInfo;
property HeaderViewInfo: TcxGridBandHeaderViewInfo read FHeaderViewInfo;
property Index: Integer read FIndex;
property IsBottom: Boolean read GetIsBottom;
property IsFixed: Boolean read GetIsFixed;
property IsRight: Boolean read GetIsRight;
property IsRoot: Boolean read GetIsRoot;
property MaxContentWidth: Integer read GetMaxContentWidth;
property MaxWidth: Integer read GetMaxWidth;
property MinContentWidth: Integer read GetMinContentWidth;
property MinWidth: Integer read GetMinWidth;
property ParentBandViewInfo: TcxGridBandViewInfo read GetParentBandViewInfo;
property RowCount: Integer read GetRowCount;
property RowsViewInfo: TcxGridBandRowsViewInfo read FRowsViewInfo;
property SameLevelItemCount: Integer read GetSameLevelItemCount;
property SameLevelItems[Index: Integer]: TcxGridBandViewInfo read GetSameLevelItem;
property SameLevelAutoWidth: Integer read GetSameLevelAutoWidth;
end;
TcxGridBandsViewInfoClass = class of TcxGridBandsViewInfo;
TcxGridBandsViewInfo = class
private
FContainerViewInfo: TcxGridBandedHeaderViewInfo;
FBandHeaderRowHeights: TList;
FBandHeadersAreaHeight: Integer;
FItems: TList;
FLineCount: Integer;
FRowCount: Integer;
function GetBandHeaderRowCount: Integer;
function GetBandHeaderRowHeight(Index: Integer): Integer;
function GetBandHeadersAreaHeight: Integer;
function GetBands: TcxGridBands;
function GetBottomItem(Index: Integer): TcxGridBandViewInfo;
function GetBottomItemCount: Integer;
function GetColumnHeadersAreaHeight: Integer;
function GetCount: Integer;
function GetGridView: TcxGridBandedTableView;
function GetGridViewInfo: TcxGridBandedTableViewInfo;
function GetInternalItem(Index: Integer): TcxGridBandViewInfo;
function GetItem(Index: Integer): TcxGridBandViewInfo;
function GetLastFixedItem(AFixedKind: TcxGridBandFixedKind; ALevelIndex: Integer): TcxGridBandViewInfo;
function GetLineCount: Integer;
function GetRootItem(Index: Integer): TcxGridBandViewInfo;
function GetRootItemCount: Integer;
function GetRowCount: Integer;
procedure SetBandHeaderRowHeight(Index: Integer; Value: Integer);
procedure CreateItems;
procedure DestroyItems;
protected
function AddIndicatorItems(AIndicatorViewInfo: TcxGridIndicatorViewInfo; ATopBound: Integer): Boolean; virtual;
procedure Calculate; virtual;
function CalculateBandHeaderHeight(ABandHeaderViewInfo: TcxGridBandHeaderViewInfo): Integer; virtual;
procedure CalculateBandHeaderRowHeights; virtual;
function CalculateBandHeadersAreaHeight: Integer; virtual;
procedure CalculateColumnWidths; virtual;
function CalculateHeight: Integer; virtual;
function CalculateWidth: Integer; virtual;
function DrawBandHeaderBackgroundHandler(ACanvas: TcxCanvas; const ABounds: TRect): Boolean; virtual;
function GetBandBackgroundBitmap: TBitmap; virtual;
function GetBandHeaderBackgroundBitmap: TBitmap; virtual;
function GetItemClass: TcxGridBandViewInfoClass; virtual;
function IsBandHeaderHeightAssigned: Boolean; virtual;
function ShowBandHeaders: Boolean; virtual;
function ShowColumnHeaders: Boolean; virtual;
property BandHeadersAreaHeight: Integer read GetBandHeadersAreaHeight;
property ColumnHeadersAreaHeight: Integer read GetColumnHeadersAreaHeight;
property GridViewInfo: TcxGridBandedTableViewInfo read GetGridViewInfo;
property InternalItems[Index: Integer]: TcxGridBandViewInfo read GetInternalItem;
public
constructor Create(AContainerViewInfo: TcxGridBandedHeaderViewInfo); virtual;
destructor Destroy; override;
procedure AssignRootItemWidths;
//function GetColumnsHitTest(const P: TPoint): TcxCustomGridHitTest; virtual;
function GetHitTest(const P: TPoint): TcxCustomGridHitTest; virtual;
function GetItemAreaBounds(ABand: TcxGridBand): TRect; virtual;
procedure InsertPositionAtPos(const P: TPoint; out ABand: TcxGridBand;
out AInsertPosition: TcxPosition);
procedure Offset(DX, DY: Integer); virtual;
property BandBackgroundBitmap: TBitmap read GetBandBackgroundBitmap;
property BandHeaderBackgroundBitmap: TBitmap read GetBandHeaderBackgroundBitmap;
property BandHeaderRowCount: Integer read GetBandHeaderRowCount;
property BandHeaderRowHeights[Index: Integer]: Integer read GetBandHeaderRowHeight write SetBandHeaderRowHeight;
property Bands: TcxGridBands read GetBands;
property BottomItemCount: Integer read GetBottomItemCount;
property BottomItems[Index: Integer]: TcxGridBandViewInfo read GetBottomItem;
property ContainerViewInfo: TcxGridBandedHeaderViewInfo read FContainerViewInfo;
property Count: Integer read GetCount;
property GridView: TcxGridBandedTableView read GetGridView;
property Items[Index: Integer]: TcxGridBandViewInfo read GetItem; default;
property LastFixedItems[AFixedKind: TcxGridBandFixedKind; ALevelIndex: Integer]: TcxGridBandViewInfo read GetLastFixedItem;
property LineCount: Integer read GetLineCount;
property RootItemCount: Integer read GetRootItemCount;
property RootItems[Index: Integer]: TcxGridBandViewInfo read GetRootItem;
property RowCount: Integer read GetRowCount;
end;
// header
TcxGridBandedHeaderViewInfoSpecific = class(TcxGridHeaderViewInfoSpecific)
private
function GetGridViewInfo: TcxGridBandedTableViewInfo;
protected
function CalculateHeight: Integer; override;
public
property GridViewInfo: TcxGridBandedTableViewInfo read GetGridViewInfo;
end;
TcxGridBandedHeaderViewInfo = class(TcxGridHeaderViewInfo)
private
FBandsViewInfo: TcxGridBandsViewInfo;
function GetGridView: TcxGridBandedTableView;
function GetGridViewInfo: TcxGridBandedTableViewInfo;
function GetItem(Index: Integer): TcxGridBandedColumnHeaderViewInfo;
function GetLineCount: Integer;
function GetRowCount: Integer;
function GetSpecific: TcxGridBandedHeaderViewInfoSpecific;
protected
procedure AddIndicatorItems(AIndicatorViewInfo: TcxGridIndicatorViewInfo; ATopBound: Integer); override;
procedure CalculateColumnAutoWidths; override;
procedure CalculateColumnWidths; override;
function CalculateHeight: Integer; override;
procedure CalculateItems; override;
function GetBandsViewInfoClass: TcxGridBandsViewInfoClass; virtual;
function GetColumnNeighbors(AColumn: TcxGridColumn): TcxNeighbors; override;
function GetIsScrollable: Boolean; override;
function GetItemAreaBounds(AItem: TcxGridColumnHeaderViewInfo): TRect; override;
function GetItemClass: TcxGridColumnHeaderViewInfoClass; override;
function GetItemMultiLinePainting(AItem: TcxGridColumnHeaderViewInfo): Boolean; override;
function GetItemsAreaBounds: TRect; override;
function GetItemsHitTest(const P: TPoint): TcxCustomGridHitTest; override;
function GetPainterClass: TcxCustomGridCellPainterClass; override;
function GetVisible: Boolean; override;
function GetWidth: Integer; override;
function IsHeightAssigned: Boolean; override;
procedure Offset(DX, DY: Integer); override;
public
constructor Create(AGridViewInfo: TcxCustomGridTableViewInfo); override;
destructor Destroy; override;
function GetHitTest(const P: TPoint): TcxCustomGridHitTest; override;
function GetZone(const P: TPoint): TcxGridItemContainerZone; override;
property BandsViewInfo: TcxGridBandsViewInfo read FBandsViewInfo;
property GridView: TcxGridBandedTableView read GetGridView;
property GridViewInfo: TcxGridBandedTableViewInfo read GetGridViewInfo;
property Items[Index: Integer]: TcxGridBandedColumnHeaderViewInfo read GetItem; default;
property LineCount: Integer read GetLineCount;
property RowCount: Integer read GetRowCount;
property Specific: TcxGridBandedHeaderViewInfoSpecific read GetSpecific;
end;
// footer
TcxGridBandedFooterViewInfo = class(TcxGridFooterViewInfo)
protected
function GetItemMultiLinePainting(AItem: TcxGridColumnHeaderViewInfo): Boolean; override;
procedure PrepareSummaryItems(ASummaryItems: TList); override;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?