home *** CD-ROM | disk | FTP | other *** search
-
- {*******************************************************}
- { }
- { Delphi Visual Component Library }
- { }
- { Copyright (c) 1995 Borland International }
- { }
- {*******************************************************}
-
- unit DBGrids;
-
- interface
-
- uses SysUtils, WinTypes, WinProcs, Messages, Classes, Controls, Forms,
- Graphics, Menus, StdCtrls, DB, DBTables, Grids, DBCtrls;
-
- type
- TCustomDBGrid = class;
-
- TGridDataLink = class(TDataLink)
- protected
- procedure ActiveChanged; override;
- procedure DataSetChanged; override;
- procedure DataSetScrolled(Distance: Integer); override;
- procedure EditingChanged; override;
- procedure LayoutChanged; override;
- procedure RecordChanged(Field: TField); override;
- procedure UpdateData; override;
- public
- constructor Create(AGrid: TCustomDBGrid);
- destructor Destroy; override;
- function AddMapping(const FieldName: string): Boolean;
- procedure ClearMapping;
- procedure Modified;
- procedure Reset;
- property DefaultFields: Boolean;
- property FieldCount: Integer;
- property Fields[I: Integer]: TField;
- end;
-
- TDBGridOption = (dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator,
- dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect,
- dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit);
- TDBGridOptions = set of TDBGridOption;
- TDrawDataCellEvent = procedure (Sender: TObject; const Rect: TRect; Field: TField;
- State: TGridDrawState) of object;
-
- TCustomDBGrid = class(TCustomGrid)
- protected
- FUpdateFields: Boolean;
- FAcquireFocus: Boolean;
- procedure LayoutChanged; virtual;
- function CanEditAcceptKey(Key: Char): Boolean; override;
- function CanEditModify: Boolean; override;
- function GetEditLimit: Integer; override;
- procedure ColumnMoved(FromIndex, ToIndex: Longint); override;
- procedure ColEnter; dynamic;
- procedure ColExit; dynamic;
- procedure Scroll(Distance: Integer); virtual;
- procedure ColWidthsChanged; override;
- function HighlightCell(DataCol, DataRow: Integer; const Value: string;
- AState: TGridDrawState): Boolean; virtual;
- procedure DrawCell(ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState); override;
- function GetEditMask(ACol, ARow: Longint): string; override;
- function GetEditText(ACol, ARow: Longint): string; override;
- procedure SetEditText(ACol, ARow: Longint; const Value: string); override;
- function GetColField(ACol: Integer): TField;
- function GetFieldValue(ACol: Integer): string;
- procedure DefineFieldMap; virtual;
- procedure DrawDataCell(const Rect: TRect; Field: TField;
- State: TGridDrawState); dynamic;
- procedure SetColumnAttributes; virtual;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure LinkActive(Value: Boolean); virtual;
- procedure Loaded; override;
- procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); override;
- procedure Notification(AComponent: TComponent; Operation: TOperation); override;
- procedure TimedScroll(Direction: TGridScrollDirection); override;
- procedure CreateWnd; override;
- property DefaultDrawing: Boolean default True;
- property DataSource: TDataSource;
- property DataLink: TGridDataLink;
- property Options: TDBGridOptions default [dgEditing, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgConfirmDelete, dgCancelOnExit];
- property ParentColor default False;
- property ReadOnly: Boolean default False;
- property TitleColor: TColor default clBtnFace;
- property TitleFont: TFont;
- property OnColEnter: TNotifyEvent;
- property OnColExit: TNotifyEvent;
- property OnDrawDataCell: TDrawDataCellEvent;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure DefaultDrawDataCell(const Rect: TRect; Field: TField; State: TGridDrawState);
- property EditorMode;
- property FieldCount: Integer;
- property Fields[Index: Integer]: TField;
- property SelectedField: TField;
- property SelectedIndex: Integer;
- end;
-
- TDBGrid = class(TCustomDBGrid)
- public
- property Canvas;
- published
- property Align;
- property BorderStyle;
- property Color;
- property Ctl3D;
- property DataSource;
- property DefaultDrawing;
- property DragCursor;
- property DragMode;
- property Enabled;
- property FixedColor;
- property Font;
- 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 OnColEnter;
- property OnColExit;
- property OnDrawDataCell;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- end;
-
- implementation
-