?? dbgrideh.pas
字號:
procedure DefineFieldMap; virtual;
procedure DefineProperties(Filer: TFiler); override;
procedure TopLeftChanged; override;
//ddd
procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
//\\\
procedure DrawDataCell(const Rect: TRect; Field: TField;
State: TGridDrawState); dynamic; { obsolete }
procedure DrawColumnCell(const Rect: TRect; DataCol: Integer;
Column: TColumnEh; State: TGridDrawState); dynamic;
procedure EditButtonClick; dynamic;
procedure EndLayout;
procedure EndUpdate;
function GetColField(DataCol: Integer): TField;
function GetEditLimit: Integer; override;
function GetEditMask(ACol, ARow: Longint): string; override;
function GetEditText(ACol, ARow: Longint): string; override;
function GetFieldValue(ACol: Integer): string;
function HighlightCell(DataCol, DataRow: Integer; const Value: string;
var AState: TGridDrawState): Boolean; virtual;
procedure KeyDown(var Key: Word; Shift: TShiftState); override;
procedure KeyUp(var Key: Word; Shift: TShiftState); override;
procedure KeyPress(var Key: Char); override;
procedure LayoutChanged; virtual;
procedure LinkActive(Value: Boolean); virtual;
procedure Loaded; override;
procedure ChangeScale(M, D: Integer); override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
//ddd
procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
//\\\
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
{$IFDEF EH_LIB_4}
function DoMouseWheelDown(Shift: TShiftState; MousePos: TPoint): Boolean; override;
function DoMouseWheelUp(Shift: TShiftState; MousePos: TPoint): Boolean; override;
procedure CalcSizingState(X, Y: Integer; var State: TGridState;
var Index: Longint; var SizingPos, SizingOfs: Integer;
var FixedInfo: TGridDrawInfo); override;
{$ENDIF}
procedure CalcFrozenSizingState(X, Y: Integer; var State: TDBGridEhState;
var Index: Longint; var SizingPos, SizingOfs: Integer);
function FrozenSizing(X, Y: Integer): Boolean;
procedure DrawSizingLine(HorzGridBoundary, VertGridBoundary: Integer);
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
procedure Scroll(Distance: Integer); virtual;
procedure SetColumnAttributes; virtual;
procedure SetEditText(ACol, ARow: Longint; const Value: string); override;
function StoreColumns: Boolean;
procedure TimedScroll(Direction: TGridScrollDirection); override;
procedure TitleClick(Column: TColumnEh); dynamic;
procedure CalcDrawInfoEh(var DrawInfo: TGridDrawInfoEh);
procedure CalcFixedInfoEh(var DrawInfo: TGridDrawInfoEh);
property DefaultDrawing: Boolean read FDefaultDrawing write FDefaultDrawing default True;
property DataLink: TGridDataLinkEh read FDataLink;
//ddd property IndicatorOffset: Byte read FIndicatorOffset;
property LayoutLock: Byte read FLayoutLock;
property ParentColor default False;
property ReadOnly: Boolean read FReadOnly write FReadOnly default False;
property SelectedRows: TBookmarkListEh read FBookmarks;
property UpdateLock: Byte read FUpdateLock;
property OnColEnter: TNotifyEvent read FOnColEnter write FOnColEnter;
property OnColExit: TNotifyEvent read FOnColExit write FOnColExit;
property OnDrawDataCell: TDrawDataCellEvent read FOnDrawDataCell
write FOnDrawDataCell; { obsolete }
property OnDrawColumnCell: TDrawColumnEhCellEvent read FOnDrawColumnCell
write FOnDrawColumnCell;
property OnEditButtonClick: TNotifyEvent read FOnEditButtonClick
write FOnEditButtonClick;
property OnColumnMoved: TMovedEvent read FOnColumnMoved write FOnColumnMoved;
property OnCellClick: TDBGridEhClickEvent read FOnCellClick write FOnCellClick;
property OnTitleClick: TDBGridEhClickEvent read FOnTitleClick write FOnTitleClick;
//ddd
procedure SaveColumnsLayoutProducer(ARegIni: TObject; Section: String; DeleteSection: Boolean);
procedure RestoreColumnsLayoutProducer(ARegIni: TObject; Section: String; RestoreParams:TColumnEhRestoreParams);
procedure SaveGridLayoutProducer(ARegIni: TObject; Section: String; DeleteSection: Boolean);
procedure RestoreGridLayoutProducer(ARegIni: TObject; Section: String; RestoreParams:TDBGridEhRestoreParams);
function AllowedOperationUpdate:Boolean;
procedure CreateParams(var Params: TCreateParams); override;
// procedure AdjustClientRect(var Rect: TRect); override;
property FooterFont: TFont read FFooterFont write SetFooterFont;
property FooterColor: TColor read FFooterColor write SetFooterColor;
//\\\
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure DefaultDrawDataCell(const Rect: TRect; Field: TField;
State: TGridDrawState); { obsolete }
procedure DefaultDrawColumnCell(const Rect: TRect; DataCol: Integer;
Column: TColumnEh; State: TGridDrawState);
function ValidFieldIndex(FieldIndex: Integer): Boolean;
property HeadTree: THeadTreeNode read FHeadTree;
property LeafFieldArr: PTLeafCol read FLeafFieldArr;
property EditorMode;
property FieldCount: Integer read GetFieldCount;
property Fields[FieldIndex: Integer]: TField read GetFields;
property SelectedField: TField read GetSelectedField write SetSelectedField;
property SelectedIndex: Integer read GetSelectedIndex write SetSelectedIndex;
//ddd
{$IFDEF EH_LIB_4} {Borland Delphi 4.0 or C++ Builder 4.0}
function ExecuteAction(Action: TBasicAction): Boolean; override;
function UpdateAction(Action: TBasicAction): Boolean; override;
{$ENDIF}
function CheckCopyAction:Boolean;
function CheckPasteAction:Boolean;
function CheckCutAction:Boolean;
function CheckSelectAllAction:Boolean;
function CheckDeleteAction:Boolean;
procedure DefaultHandler(var Msg); override;
function DataRect:TRect;
function DataRowCount:Integer;
procedure InvalidateFooter;
{$IFDEF EH_LIB_4} {Borland Delphi 4.0 or C++ Builder 4.0}
procedure SaveColumnsLayout(ARegIni: TRegIniFile); overload;
procedure SaveColumnsLayout(ACustIni: TCustomIniFile; Section:String); overload;
procedure RestoreColumnsLayout(ARegIni: TRegIniFile; RestoreParams:TColumnEhRestoreParams); overload;
procedure RestoreColumnsLayout(ACustIni: TCustomIniFile; Section:String; RestoreParams:TColumnEhRestoreParams); overload;
procedure SaveGridLayout(ARegIni: TRegIniFile); overload;
procedure SaveGridLayout(ACustIni: TCustomIniFile; Section:String); overload;
procedure RestoreGridLayout(ARegIni: TRegIniFile; RestoreParams:TDBGridEhRestoreParams); overload;
procedure RestoreGridLayout(ARegIni: TCustomIniFile; Section:String; RestoreParams:TDBGridEhRestoreParams); overload;
{$ELSE}
procedure SaveColumnsLayout(ARegIni: TRegIniFile);
procedure RestoreColumnsLayout(ARegIni: TRegIniFile; RestoreParams:TColumnEhRestoreParams);
procedure SaveGridLayout(ARegIni: TRegIniFile);
procedure RestoreGridLayout(ARegIni: TRegIniFile; RestoreParams:TDBGridEhRestoreParams);
{$ENDIF}
procedure SaveColumnsLayoutIni(IniFileName: String; Section: String; DeleteSection: Boolean);
procedure RestoreColumnsLayoutIni(IniFileName: String; Section: String; RestoreParams:TColumnEhRestoreParams);
procedure SaveGridLayoutIni(IniFileName: String; Section: String; DeleteSection: Boolean);
procedure RestoreGridLayoutIni(IniFileName: String; Section: String; RestoreParams:TDBGridEhRestoreParams);
function CellRect(ACol, ARow: Longint): TRect;
procedure DefaultDrawFooterCell(const Rect: TRect; DataCol, Row: Integer;
Column: TColumnEh; State: TGridDrawState);
function GetFooterValue(Row: Integer; Column: TColumnEh): String; virtual;
procedure SetSortMarkedColumns;
procedure SaveBookmark;
procedure RestoreBookmark;
property Canvas;
property Col read GetCol write SetCol;
property InplaceEditor;
property LeftCol;
property Row;
property VisibleRowCount;
property VisibleColCount;
property IndicatorOffset: Byte read FIndicatorOffset;
property TitleOffset: Byte read FTitleOffset;
property FooterRowCount: Integer read GetFooterRowCount write SetFooterRowCount default 0;
property FrozenCols: Integer read FFrozenCols write SetFrozenCols default 0;
property OnDrawFooterCell:TDrawFooterCellEvent read FOnDrawFooterCell write FOnDrawFooterCell;
property TitleHeight: Integer read ReadTitleHeight write WriteTitleHeight default 0;
property TitleLines: Integer read ReadTitleLines write WriteTitleLines default 0;
property VTitleMargin: Integer read FVTitleMargin write WriteVTitleMargin default 10;
// property HTitleMargin: Integer read FHTitleMargin write WritEhTitleMargin default 0;
property UseMultiTitle: Boolean read FUseMultiTitle write WriteUseMultiTitle default False;
property AutoFitColWidths: Boolean read FAutoFitColWidths write WriteAutoFitColWidths default False;
property MinAutoFitWidth: Integer read FMinAutoFitWidth write WriteMinAutoFitWidth default 0;
property RowHeight: Integer read GetRowHeight write SetRowHeight default 0;
property RowLines: Integer read GetRowLines write SetRowLines default 0;
property RowSizingAllowed:Boolean read FRowSizingAllowed write SetRowSizingAllowed default False;
property DrawMemoText:Boolean read FDrawMemoText write SetDrawMemoText default false;
property OnCheckButton: TCheckTitleEhBtnEvent read FOnCheckButton write FOnCheckButton;
property OnGetBtnParams: TGetBtnEhParamsEvent read FOnGetBtnParams write FOnGetBtnParams;
property OnTitleBtnClick: TTitleEhClickEvent read FOnTitleBtnClick write FOnTitleBtnClick;
property OnGetCellParams: TGetCellEhParamsEvent read FOnGetCellParams write FOnGetCellParams;
property OnGetFooterParams: TGetFooterParamsEvent read FOnGetFooterParams write FOnGetFooterParams;
property SumList:TDBGridEhSumList read FSumList write SetSumList;
property OnSumListRecalcAll: TNotifyEvent read FOnSumListRecalcAll write FOnSumListRecalcAll;
property VisibleColumns: TColumnsEhList read FVisibleColumns write FVisibleColumns;
property HorzScrollBar: TDBGridEhScrollBar read FHorzScrollBar write SetHorzScrollBar;
property VertScrollBar: TDBGridEhScrollBar read FVertScrollBar write SetVertScrollBar;
property OptionsEh: TDBGridEhOptions read FOptionsEh write SetOptionsEh
default [dghFixed3D,dghHighlightFocus,dghClearSelection];
property OnSortMarkingChanged: TNotifyEvent read FOnSortMarkingChanged write FOnSortMarkingChanged;
property OnColWidthsChanged: TNotifyEvent read FOnColWidthsChanged write FOnColWidthsChanged;
property SortMarkedColumns: TColumnsEhList read FSortMarkedColumns write FSortMarkedColumns;
property Selection:TDBGridEhSelection read FSelection;
property TitleImages:{$IFDEF EH_LIB_4}TCustomImageList{$ELSE}TImageList{$ENDIF} read FTitleImages write SetTitleImages;
property TimerActive: Boolean read FTimerActive;
property AllowedOperations: TDBGridEhAllowedOperations read FAllowedOperations write FAllowedOperations
default [alopInsertEh, alopUpdateEh, alopDeleteEh, alopAppendEh];
property Flat: Boolean read FFlat write SetFlat default False;
property DataSource: TDataSource read GetDataSource write SetDataSource;
property Columns: TDBGridColumnsEh read FColumns write SetColumns;
property Options: TDBGridOptions read FOptions write SetOptions
default [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColLines,
dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit];
property Ctl3D;
property Font;
property TitleFont: TFont read FTitleFont write SetTitleFont;
property FixedColor;
property EditActions: TDBGridEhEditActions read FEditActions write FEditActions; //\\\
end;
TDBGridEh = class(TCustomDBGridEh)
public
//ddd
property GridHeight;
property RowCount;
//\\\
property Canvas;
property SelectedRows;
published
property Align;
property BorderStyle;
property Color;
property Columns stored False; //StoreColumns;
property Ctl3D;
property DataSource;
property DefaultDrawing;
property DragCursor;
property DragMode;
property Enabled;
property FixedColor;
property Font;
property ImeMode;
property ImeName;
property Options;
property ParentColor;
property ParentCtl3D;
property ParentFont;
property ParentShowHint;
property PopupMenu;
property ReadOnly;
property ShowHint;
property TabOrder;
property TabStop;
property TitleFont;
property Visible;
property OnCellClick;
property OnColEnter;
property OnColExit;
property OnColumnMoved;
property OnDrawDataCell; { obsolete }
property OnDrawColumnCell;
property OnDblClick;
property OnDragDrop;
property OnDragOver;
property OnEditButtonClick;
property OnEndDrag;
property OnEnter;
property OnExit;
property OnKeyDown;
property OnKeyPress;
property OnKeyUp;
property OnStartDrag;
property OnTitleClick;
{$IFDEF EH_LIB_4} {Borland Delphi 4.0 or C++ Builder 4.0}
property Anchors;
property BiDiMode;
property Constraints;
property DragKind;
property ParentBiDiMode;
property OnEndDock;
property OnStartDock;
{$ENDIF}
//ddd
property AllowedOperations;
property FooterRowCount;
property FrozenCols;
property FooterFont;
property FooterColor;
property TitleHeight;
property TitleLines;
property VTitleMargin;
// property HTitleMargin;
property UseMultiTitle;
property AutoFitColWidths;
property MinAutoFitWidth;
property RowHeight;
property RowSizingAllowed;
property RowLines;
property DrawMemoText;
property SumList;
property HorzScrollBar;
property VertScrollBar;
property TitleImages;
property OptionsEh;
property Flat;
property EditActions;
property OnDrawFooterCell;
property OnGetFooterParams;
property OnCheckButton;
property OnGetBtnParams;
property OnTitleBtnClick;
property OnGetCellParams;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
property OnSumListRecalcAll;
property OnSortMarkingChanged;
property OnColWidthsChanged;
//\\\
end;
{const
IndicatorWidth = 11;}
var
SortMarkerFont :TFont;
const
ColSelectionAreaHeight : Integer = 7;
procedure WriteTextEh(ACanvas: TCanvas; // Canvas
ARect: TRect; // Draw rect and ClippingRect
FillRect:Boolean; // Fill rect Canvas.Brash.Color
DX, DY: Integer; // InflateRect(Rect, -DX, -DY) for text
Text: string; // Draw text
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -