📄 dbgrideh.pas
字号:
FFrozenCols: Integer;
FHeadTree: THeadTreeNode;
FHTitleMargin: Integer;
FIndicatorPressed: Boolean;
FInitColWidth: TList;
FInplaceEditorButtonHeight: Integer;
FInplaceEditorButtonWidth: Integer;
FInplaceSearching:Boolean;
FInplaceSearchingInProcess: Boolean;
FInplaceSearchText: String;
FInplaceSearchTimeOut: Integer;
FInplaceSearchTimerActive: Boolean;
FLeafFieldArr: PTLeafCol;
FLockedBookmark: TBookmarkStr;
FLockPaint: Boolean;
FLookedOffset: Integer;
FMarginText: Boolean;
FMinAutoFitWidth: Integer;
FMouseShift: TShiftState;
FMoveMousePos: TPoint;
FNewRowHeight: Integer;
FOnCheckButton: TCheckTitleEhBtnEvent;
FOnDrawFooterCell:TDrawFooterCellEvent;
FOnGetBtnParams: TGetBtnEhParamsEvent;
FOnTitleBtnClick: TTitleEhClickEvent;
FPresedRecord: TBookMarkStr;
FPressed: Boolean;
FPressedCell: TGridCoord;
FPressedCol: Longint;
FRowLines: Integer;
FRowSizingAllowed : Boolean;
FSelectionAnchorSelected: Boolean;
FSortMarkedColumns: TColumnsEhList;
FSortMarkerImages: TImageList;
FSumList: TDBGridEhSumList;
FSwapButtons: Boolean;
FTimerActive: Boolean;
FTimerInterval: Integer;
FTitleHeight: Integer;
FTitleHeightFull: Integer;
FTitleLines: Integer;
FTracking: Boolean;
FUpdateFields: Boolean;
FUpdatingEditor: Boolean;
FUseMultiTitle: Boolean;
FVisibleColumns: TColumnsEhList;
FVTitleMargin: Integer;
function AcquireLayoutLock: Boolean;
function AllowedOperationUpdate: Boolean;
function CanDrawFocusRowRect: Boolean; virtual;
function CanEditAcceptKey(Key: Char): Boolean; override;
function CanEditModify: Boolean; override;
function CanEditModifyColumn(Index: Integer): Boolean;
function CanEditModifyText: Boolean;
function CanEditShow: Boolean; override;
function CanSelectType(const Value: TDBGridEhSelectionType): Boolean;
function CalcTitleOffset: Integer; virtual;
function CellHave3DRect(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState): Boolean; virtual;
function CreateColumns: TDBGridColumnsEh; dynamic;
function CreateColumnDefValues: TColumnDefValuesEh; dynamic;
function CreateEditor: TInplaceEdit; override;
function DataToRawColumn(ACol: Integer): Integer;
function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override;
function FrozenSizing(X, Y: Integer): Boolean;
function GetColField(DataCol: Integer): TField;
function GetColWidths(Index: Longint): Integer;
function GetEditLimit: Integer; override;
function GetEditMask(ACol, ARow: Longint): string; override;
function GetEditText(ACol, ARow: Longint): string; override;
function GetFieldValue(ACol: Integer): string;
function GetFooterRowCount: Integer;
function GetRowHeight: Integer;
function GetRowLines: Integer;
function HighlightCell(DataCol, DataRow: Integer; const Value: string;
AState: TGridDrawState): Boolean; virtual;
function InplaceEditorVisible:Boolean;
function RawToDataColumn(ACol: Integer): Integer;
function ReadTitleHeight: Integer;
function ReadTitleLines: Integer;
function SetChildTreeHeight(ANode:THeadTreeNode):Integer;
function StdDefaultRowHeight: Integer;
function StoreColumns: Boolean;
function VisibleDataRowCount: Integer;
procedure BeginLayout;
procedure BeginUpdate;
procedure CalcDrawInfoEh(var DrawInfo: TGridDrawInfoEh);
procedure CalcFixedInfoEh(var DrawInfo: TGridDrawInfoEh);
procedure CalcFrozenSizingState(X, Y: Integer; var State: TDBGridEhState;
var Index: Longint; var SizingPos, SizingOfs: Integer);
procedure CalcSizingState(X, Y: Integer; var State: TGridState;
var Index: Longint; var SizingPos, SizingOfs: Integer;
var FixedInfo: TGridDrawInfo); override;
procedure CancelLayout;
procedure CellClick(Column: TColumnEh); dynamic;
procedure ChangeScale(M, D: Integer); override;
procedure CheckTitleButton(ACol: Longint; var Enabled: Boolean); dynamic;
procedure ClearPainted(node:THeadTreeNode);
procedure CMCancelMode(var Message: TCMCancelMode); message CM_CancelMode;
procedure ColEnter; dynamic;
procedure ColExit; dynamic;
procedure ColumnMoved(FromIndex, ToIndex: Longint); override;
procedure ColWidthsChanged; override;
procedure CreateParams(var Params: TCreateParams); override;
procedure CreateWnd; override;
procedure DataChanged; virtual;
procedure DeferLayout;
procedure DefineFieldMap; virtual;
procedure DefineProperties(Filer: TFiler); override;
procedure DoSortMarkingChanged; dynamic;
procedure DoTitleClick(ACol: Longint; AColumn: TColumnEh); dynamic;
procedure DrawBorder; virtual;
procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
procedure DrawColumnCell(const Rect: TRect; DataCol: Integer;
Column: TColumnEh; State: TGridDrawState); dynamic;
procedure DrawDataCell(const Rect: TRect; Field: TField; State: TGridDrawState); dynamic; { obsolete }
procedure DrawSubTitleCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); virtual;
procedure DrawSizingLine(HorzGridBoundary, VertGridBoundary: Integer);
procedure EditButtonClick; dynamic;
procedure EndLayout;
procedure EndUpdate;
procedure GetCellParams(Column: TColumnEh; AFont: TFont;
var Background: TColor; State: TGridDrawState ); dynamic;
procedure GetDatasetFieldList(FieldList: TList); virtual;
procedure GetFooterParams(DataCol, Row: Longint; Column: TColumnEh; AFont: TFont;
var Background: TColor; var Alignment : TAlignment; State: TGridDrawState; var Text:String); dynamic;
procedure InvalidateEditor;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure KeyPress(var Key: Char); override;
procedure KeyUp(var Key: Word; Shift: TShiftState); override;
procedure LayoutChanged; virtual;
procedure LinkActive(Value: Boolean); virtual;
procedure Loaded; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState; X, Y: Integer); override;
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Paint; override;
procedure PaintButtonControl(DC: HDC; ARect:TRect;ParentColor:TColor;
Style:TDrawButtonControlStyleEh; DownButton:Integer;
Flat,Active,Enabled:Boolean; State: TCheckBoxState);
procedure RecreateInplaceSearchIndicator;
procedure ResetTimer(Interval: Integer);
procedure RestoreColumnsLayoutProducer(ARegIni: TObject; Section: String;
RestoreParams:TColumnEhRestoreParams);
procedure RestoreGridLayoutProducer(ARegIni: TObject; Section: String;
RestoreParams:TDBGridEhRestoreParams);
procedure RowHeightsChanged; override;
procedure SaveColumnsLayoutProducer(ARegIni: TObject; Section: String; DeleteSection: Boolean);
procedure SaveGridLayoutProducer(ARegIni: TObject; Section: String; DeleteSection: Boolean);
procedure Scroll(Distance: Integer); virtual;
procedure SetColumnAttributes; virtual;
procedure SetColWidths(Index: Longint; Value: Integer);
procedure SetEditText(ACol, ARow: Longint; const Value: string); override;
procedure SetFooterRowCount(Value: Integer);
procedure SetFrozenCols(Value: Integer);
procedure SetRowHeight(Value: Integer);
procedure SetRowLines(Value: Integer);
procedure SetRowSizingAllowed(Value:Boolean);
procedure StartInplaceSearch(ss:String; TimeOut:Integer; InpsDirection:TInpsDirectionEh);
procedure StartInplaceSearchTimer;
procedure StopInplaceSearch;
procedure StopInplaceSearchTimer;
procedure StopTimer;
procedure StopTracking;
procedure SumListChanged(Sender: TObject);
procedure SumListRecalcAll(Sender: TObject);
procedure TimedScroll(Direction: TGridScrollDirection); override;
procedure TimerScroll; virtual;
procedure TitleClick(Column: TColumnEh); dynamic;
procedure TopLeftChanged; override;
procedure TrackButton(X, Y: Integer);
procedure UpdateActive; virtual;
procedure UpdateRowCount; virtual;
procedure UpdateScrollBar; virtual;
procedure WMCancelMode(var Message: TMessage); message WM_CANCELMODE;
procedure WndProc(var Message: TMessage); override;
procedure WriteAutoFitColWidths(Value:Boolean);
procedure WriteCellText(ACanvas: TCanvas; ARect: TRect; FillRect:Boolean; DX, DY: Integer;
Text: string; Alignment: TAlignment; Layout: TTextLayout; MultyL:Boolean;
EndEllipsis:Boolean; LeftMarg, RightMarg:Integer);
procedure WriteHTitleMargin(Value: Integer);
procedure WriteMarginText(IsMargin:Boolean);
procedure WriteMinAutoFitWidth(Value:Integer);
procedure WriteTitleHeight(th: Integer);
procedure WriteTitleLines(tl: Integer);
procedure WriteUseMultiTitle(Value:Boolean);
procedure WriteVTitleMargin(Value: Integer);
property DataLink: TGridDataLinkEh read FDataLink;
property DefaultDrawing: Boolean read FDefaultDrawing write FDefaultDrawing default True;
property FooterColor: TColor read FFooterColor write SetFooterColor;
property FooterFont: TFont read FFooterFont write SetFooterFont;
property LayoutLock: Byte read FLayoutLock;
property OnCellClick: TDBGridEhClickEvent read FOnCellClick write FOnCellClick;
property OnColEnter: TNotifyEvent read FOnColEnter write FOnColEnter;
property OnColExit: TNotifyEvent read FOnColExit write FOnColExit;
property OnColumnMoved: TMovedEvent read FOnColumnMoved write FOnColumnMoved;
property OnDrawColumnCell: TDrawColumnEhCellEvent read FOnDrawColumnCell write FOnDrawColumnCell;
property OnDrawDataCell: TDrawDataCellEvent read FOnDrawDataCell write FOnDrawDataCell; { obsolete }
property OnEditButtonClick: TNotifyEvent read FOnEditButtonClick write FOnEditButtonClick;
property OnTitleClick: TDBGridEhClickEvent read FOnTitleClick write FOnTitleClick;
property ParentColor default False;
property ReadOnly: Boolean read FReadOnly write SetReadOnly default False;
property SelectedRows: TBookmarkListEh read FBookmarks;
property UpdateLock: Byte read FUpdateLock;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
function CellRect(ACol, ARow: Longint): TRect;
function CheckCopyAction:Boolean;
function CheckCutAction:Boolean;
function CheckDeleteAction:Boolean;
function CheckPasteAction:Boolean;
function CheckSelectAllAction:Boolean;
function DataRect: TRect;
function DataBox: TGridRect;
function DataRowCount: Integer;
function ExecuteAction(Action: TBasicAction): Boolean; override;
function GetFooterValue(Row: Integer; Column: TColumnEh): String; virtual;
function GetCompleteKeyPress: String;
function UpdateAction(Action: TBasicAction): Boolean; override;
function ValidFieldIndex(FieldIndex: Integer): Boolean;
procedure DefaultDrawColumnCell(const Rect: TRect; DataCol: Integer;
Column: TColumnEh; State: TGridDrawState);
procedure DefaultDrawDataCell(const Rect: TRect; Field: TField; State: TGridDrawState); { obsolete }
procedure DefaultDrawFooterCell(const Rect: TRect; DataCol, Row: Integer;
Column: TColumnEh; State: TGridDrawState);
procedure DefaultHandler(var Msg); override;
procedure InvalidateFooter;
procedure RestoreBookmark;
procedure RestoreColumnsLayout(ACustIni: TCustomIniFile; Section:String;
RestoreParams:TColumnEhRestoreParams); overload;
procedure RestoreColumnsLayout(ARegIni: TRegIniFile; RestoreParams:TColumnEhRestoreParams); overload;
procedure RestoreColumnsLayoutIni(IniFileName: String; Section: String;
RestoreParams:TColumnEhRestoreParams);
procedure RestoreGridLayout(ARegIni: TCustomIniFile; Section:String;
RestoreParams:TDBGridEhRestoreParams); overload;
procedure RestoreGridLayout(ARegIni: TRegIniFile; RestoreParams:TDBGridEhRestoreParams); overload;
procedure RestoreGridLayoutIni(IniFileName: String; Section: String;
RestoreParams:TDBGridEhRestoreParams);
procedure SaveBookmark;
procedure SaveColumnsLayout(ACustIni: TCustomIniFile; Section:String); overload;
procedure SaveColumnsLayout(ARegIni: TRegIniFile); overload;
procedure SaveColumnsLayoutIni(IniFileName: String; Section: String; DeleteSection: Boolean);
procedure SaveGridLayout(ACustIni: TCustomIniFile; Section:String); overload;
procedure SaveGridLayout(ARegIni: TRegIniFile); overload;
procedure SaveGridLayoutIni(IniFileName: String; Section: String; DeleteSection: Boolean);
procedure SetSortMarkedColumns;
property AllowedOperations: TDBGridEhAllowedOperations read FAllowedOperations
write FAllowedOperations default [alopInsertEh, alopUpdateEh, alopDeleteEh, alopAppendEh];
property AllowedSelections: TDBGridEhAllowedSelections read FAllowedSelections
write SetAllowedSelections default [gstRecordBookmarks .. gstAll];
property AutoFitColWidths: Boolean read FAutoFitColWidths
write WriteAutoFitColWidths default False;
property Canvas;
property Col read GetCol write SetCol;
property ColumnDefValues: TColumnDefValuesEh read FColumnDefValues write SetColumnDefValues;
property Columns: TDBGridColumnsEh read FColumns write SetColumns;
property Ctl3D;
property DataSource: TDataSource read GetDataSource write SetDataSource;
property DrawMemoText:Boolean read FDrawMemoText write SetDrawMemoText default false;
property EditActions: TDBGridEhEditActions read FEditActions write FEditActions default [];
property EditorMode;
property FieldColumns[const FieldName: String]: TColumnEh read GetFieldColumns; default;
property FieldCount: Integer read GetFieldCount;
property Fields[FieldIndex: Integer]: TField read GetFields;
property FixedColor;
property Flat: Boolean read FFlat write SetFlat default False;
property Font;
property FooterRowCount: Integer read GetFooterRowCount write SetFooterRowCount default 0;
property FrozenCols: Integer read FFrozenCols write SetFrozenCols default 0;
property HeadTree: THeadTreeNode read FHeadTree;
property HorzScrollBar: TDBGridEhScrollBar read FHorzScrollBar write SetHorzScrollBar;
property IndicatorOffset: Byte read FIndicatorOffset;
property InplaceEditor;
property LeafFieldArr: PTLeafCol read FLeafFieldArr;
property LeftCol;
property MinAutoFitWidth: Integer read FMinAutoFitWidth write WriteMinAutoFitWidth default 0;
property OnCheckButton: TCheckTitleEhBtnEvent read FOnCheckButton write FOnCheckButton;
property OnColWidthsChanged: TNotifyEvent read FOnColWidthsChanged write FOnColWidthsChanged;
property OnDrawFooterCell:TDrawFooterCellEvent read FOnDrawFooterCell write FOnDrawFooterCell;
property OnGetBtnParams: TGetBtnEhParamsEvent read FOnGetBtnParams write FOnGetBtnParams;
property OnGetCellParams: TGetCellEhParamsEvent read FOnGetCellParams write FOnGetCellParams;
property OnGetFooterParams: TGetFooterParamsEvent read FOnGetFooterParams write FOnGetFooterParams;
property OnSortMarkingChanged: TNotifyEvent read FOnSortMarkingChanged write FOnSortMarkingChanged;
property OnSumListRecalcAll: TNotifyEvent read FOnSumListRecalcAll write FOnSumListRecalcAll;
property OnTitleBtnClick: TTitleEhClickEvent read FOnTitleBtnClick write FOnTitleBtnClick;
property Options: TDBGridOptions read FOptions write SetOptions
default [dgEditing, dgTitles, dgIndicat
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -