home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / DBGRIDS.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  21KB  |  522 lines

  1. //----------------------------------------------------------------------------
  2. // DBGrids.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: DBGrids.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef DBGridsHPP
  6. #define DBGridsHPP
  7. //----------------------------------------------------------------------------
  8. #include <Menus.hpp>
  9. #include <DBCtrls.hpp>
  10. #include <Grids.hpp>
  11. #include <DBTables.hpp>
  12. #include <DB.hpp>
  13. #include <Graphics.hpp>
  14. #include <StdCtrls.hpp>
  15. #include <Forms.hpp>
  16. #include <Controls.hpp>
  17. #include <Classes.hpp>
  18. #include <Messages.hpp>
  19. #include <SysUtils.hpp>
  20. #include <Windows.hpp>
  21. #include <System.hpp>
  22. #pragma warn -par
  23. #pragma warn -hid 
  24. #pragma warn -inl
  25.  
  26. namespace Dbgrids
  27. {
  28. //-- type declarations -------------------------------------------------------
  29. enum TColumnValue { cvColor, cvWidth, cvFont, cvAlignment, cvReadOnly, cvTitleColor, cvTitleCaption, 
  30.     cvTitleAlignment, cvTitleFont };
  31.  
  32. typedef Set<TColumnValue, cvColor, cvTitleFont>  TColumnValues;
  33.  
  34. class __declspec(delphiclass) TColumnTitle;
  35. class __declspec(delphiclass) TColumn;
  36. enum TColumnButtonStyle { cbsAuto, cbsEllipsis, cbsNone };
  37.  
  38. class __declspec(delphiclass) TCustomDBGrid;
  39. class __declspec(pascalimplementation) TColumn : public Classes::TCollectionItem
  40. {
  41.     typedef Classes::TCollectionItem inherited;
  42.     
  43. private:
  44.     Db::TField* FField;
  45.     System::AnsiString FFieldName;
  46.     Graphics::TColor FColor;
  47.     int FWidth;
  48.     TColumnTitle* FTitle;
  49.     Graphics::TFont* FFont;
  50.     Classes::TStrings* FPickList;
  51.     int FDropDownRows;
  52.     TColumnButtonStyle FButtonStyle;
  53.     TAlignment FAlignment;
  54.     bool FReadonly;
  55.     TColumnValues FAssignedValues;
  56.     void __fastcall FontChanged(System::TObject* Sender);
  57.     Classes::TAlignment __fastcall GetAlignment(void);
  58.     Graphics::TColor __fastcall GetColor(void);
  59.     Db::TField* __fastcall GetField(void);
  60.     Graphics::TFont* __fastcall GetFont(void);
  61.     Classes::TStrings* __fastcall GetPickList(void);
  62.     bool __fastcall GetReadOnly(void);
  63.     int __fastcall GetWidth(void);
  64.     bool __fastcall IsAlignmentStored(void);
  65.     bool __fastcall IsColorStored(void);
  66.     bool __fastcall IsFontStored(void);
  67.     bool __fastcall IsReadOnlyStored(void);
  68.     bool __fastcall IsWidthStored(void);
  69.     virtual void __fastcall SetAlignment(Classes::TAlignment Value);
  70.     void __fastcall SetButtonStyle(TColumnButtonStyle Value);
  71.     void __fastcall SetColor(Graphics::TColor Value);
  72.     virtual void __fastcall SetField(Db::TField* Value);
  73.     void __fastcall SetFieldName(const System::AnsiString Value);
  74.     void __fastcall SetFont(Graphics::TFont* Value);
  75.     void __fastcall SetPickList(Classes::TStrings* Value);
  76.     virtual void __fastcall SetReadOnly(bool Value);
  77.     void __fastcall SetTitle(TColumnTitle* Value);
  78.     virtual void __fastcall SetWidth(int Value);
  79.     
  80. protected:
  81.     virtual TColumnTitle* __fastcall CreateTitle(void);
  82.     TCustomDBGrid* __fastcall GetGrid(void);
  83.     void __fastcall RefreshDefaultFont(void);
  84.     
  85. public:
  86.     __fastcall virtual TColumn(Classes::TCollection* Collection);
  87.     __fastcall virtual ~TColumn(void);
  88.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  89.     Classes::TAlignment __fastcall DefaultAlignment(void);
  90.     Graphics::TColor __fastcall DefaultColor(void);
  91.     Graphics::TFont* __fastcall DefaultFont(void);
  92.     bool __fastcall DefaultReadOnly(void);
  93.     int __fastcall DefaultWidth(void);
  94.     virtual void __fastcall RestoreDefaults(void);
  95.     __property TColumnValues AssignedValues = {read=FAssignedValues, nodefault};
  96.     __property Db::TField* Field = {read=GetField, write=SetField, nodefault};
  97.     
  98. __published:
  99.     __property Classes::TAlignment Alignment = {read=GetAlignment, write=SetAlignment, stored=IsAlignmentStored
  100.         , nodefault};
  101.     __property TColumnButtonStyle ButtonStyle = {read=FButtonStyle, write=SetButtonStyle, default=0};
  102.     __property Graphics::TColor Color = {read=GetColor, write=SetColor, stored=IsColorStored, nodefault
  103.         };
  104.     __property int DropDownRows = {read=FDropDownRows, write=FDropDownRows, default=7};
  105.     __property System::AnsiString FieldName = {read=FFieldName, write=SetFieldName, nodefault};
  106.     __property Graphics::TFont* Font = {read=GetFont, write=SetFont, stored=IsFontStored, nodefault};
  107.     __property Classes::TStrings* PickList = {read=GetPickList, write=SetPickList, nodefault};
  108.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, stored=IsReadOnlyStored, nodefault
  109.         };
  110.     __property TColumnTitle* Title = {read=FTitle, write=SetTitle, nodefault};
  111.     __property int Width = {read=GetWidth, write=SetWidth, stored=IsWidthStored, nodefault};
  112. };
  113.  
  114. class __declspec(pascalimplementation) TColumnTitle : public Classes::TPersistent
  115. {
  116.     typedef Classes::TPersistent inherited;
  117.     
  118. private:
  119.     TColumn* FColumn;
  120.     System::AnsiString FCaption;
  121.     Graphics::TFont* FFont;
  122.     Graphics::TColor FColor;
  123.     TAlignment FAlignment;
  124.     void __fastcall FontChanged(System::TObject* Sender);
  125.     Classes::TAlignment __fastcall GetAlignment(void);
  126.     Graphics::TColor __fastcall GetColor(void);
  127.     System::AnsiString __fastcall GetCaption(void);
  128.     Graphics::TFont* __fastcall GetFont(void);
  129.     bool __fastcall IsAlignmentStored(void);
  130.     bool __fastcall IsColorStored(void);
  131.     bool __fastcall IsFontStored(void);
  132.     bool __fastcall IsCaptionStored(void);
  133.     void __fastcall SetAlignment(Classes::TAlignment Value);
  134.     void __fastcall SetColor(Graphics::TColor Value);
  135.     void __fastcall SetFont(Graphics::TFont* Value);
  136.     virtual void __fastcall SetCaption(const System::AnsiString Value);
  137.     
  138. protected:
  139.     void __fastcall RefreshDefaultFont(void);
  140.     
  141. public:
  142.     __fastcall TColumnTitle(TColumn* Column);
  143.     __fastcall virtual ~TColumnTitle(void);
  144.     virtual void __fastcall Assign(Classes::TPersistent* Source);
  145.     Classes::TAlignment __fastcall DefaultAlignment(void);
  146.     Graphics::TColor __fastcall DefaultColor(void);
  147.     Graphics::TFont* __fastcall DefaultFont(void);
  148.     System::AnsiString __fastcall DefaultCaption(void);
  149.     virtual void __fastcall RestoreDefaults(void);
  150.     
  151. __published:
  152.     __property Classes::TAlignment Alignment = {read=GetAlignment, write=SetAlignment, stored=IsAlignmentStored
  153.         , nodefault};
  154.     __property System::AnsiString Caption = {read=GetCaption, write=SetCaption, stored=IsCaptionStored, 
  155.         nodefault};
  156.     __property Graphics::TColor Color = {read=GetColor, write=SetColor, stored=IsColorStored, nodefault
  157.         };
  158.     __property Graphics::TFont* Font = {read=GetFont, write=SetFont, stored=IsFontStored, nodefault};
  159. };
  160.  
  161. typedef System::TMetaClass*TColumnClass;
  162.  
  163. enum TDBGridColumnsState { csDefault, csCustomized };
  164.  
  165. class __declspec(delphiclass) TDBGridColumns;
  166. class __declspec(pascalimplementation) TDBGridColumns : public Classes::TCollection
  167. {
  168.     typedef Classes::TCollection inherited;
  169.     
  170. private:
  171.     TCustomDBGrid* FGrid;
  172.     TColumn* __fastcall GetColumn(int Index);
  173.     TDBGridColumnsState __fastcall GetState(void);
  174.     void __fastcall SetColumn(int Index, TColumn* Value);
  175.     void __fastcall SetState(TDBGridColumnsState NewState);
  176.     
  177. protected:
  178.     virtual void __fastcall Update(Classes::TCollectionItem* Item);
  179.     
  180. public:
  181.     __fastcall TDBGridColumns(TCustomDBGrid* Grid, System::TMetaClass* ColumnClass);
  182.     HIDESBASE TColumn* __fastcall Add(void);
  183.     void __fastcall RestoreDefaults(void);
  184.     void __fastcall RebuildColumns(void);
  185.     __property TDBGridColumnsState State = {read=GetState, write=SetState, nodefault};
  186.     __property TCustomDBGrid* Grid = {read=FGrid, nodefault};
  187.     __property TColumn* Items[int Index] = {read=GetColumn, write=SetColumn/*, default*/};
  188. public:
  189.     /* TCollection.Destroy */ __fastcall virtual ~TDBGridColumns(void) { }
  190.     
  191. };
  192.  
  193. class __declspec(delphiclass) TGridDataLink;
  194. class __declspec(pascalimplementation) TGridDataLink : public Db::TDataLink
  195. {
  196.     typedef Db::TDataLink inherited;
  197.     
  198. private:
  199.     TCustomDBGrid* FGrid;
  200.     int FFieldCount;
  201.     int FFieldMapSize;
  202.     void *FFieldMap;
  203.     bool FModified;
  204.     bool FInUpdateData;
  205.     bool FSparseMap;
  206.     bool __fastcall GetDefaultFields(void);
  207.     Db::TField* __fastcall GetFields(int I);
  208.     
  209. protected:
  210.     virtual void __fastcall ActiveChanged(void);
  211.     virtual void __fastcall DataSetChanged(void);
  212.     virtual void __fastcall DataSetScrolled(int Distance);
  213.     virtual void __fastcall FocusControl(Db::TFieldRef Field);
  214.     virtual void __fastcall EditingChanged(void);
  215.     virtual void __fastcall LayoutChanged(void);
  216.     virtual void __fastcall RecordChanged(Db::TField* Field);
  217.     virtual void __fastcall UpdateData(void);
  218.     int __fastcall GetMappedIndex(int ColIndex);
  219.     
  220. public:
  221.     __fastcall TGridDataLink(TCustomDBGrid* AGrid);
  222.     __fastcall virtual ~TGridDataLink(void);
  223.     bool __fastcall AddMapping(const System::AnsiString FieldName);
  224.     void __fastcall ClearMapping(void);
  225.     void __fastcall Modified(void);
  226.     void __fastcall Reset(void);
  227.     __property bool DefaultFields = {read=GetDefaultFields, nodefault};
  228.     __property int FieldCount = {read=FFieldCount, nodefault};
  229.     __property Db::TField* Fields[int I] = {read=GetFields};
  230.     __property bool SparseMap = {read=FSparseMap, write=FSparseMap, nodefault};
  231. };
  232.  
  233. class __declspec(delphiclass) TBookmarkList;
  234. class __declspec(pascalimplementation) TBookmarkList : public System::TObject
  235. {
  236.     typedef System::TObject inherited;
  237.     
  238. private:
  239.     Classes::TStringList* FList;
  240.     TCustomDBGrid* FGrid;
  241.     System::AnsiString FCache;
  242.     int FCacheIndex;
  243.     bool FCacheFind;
  244.     bool FLinkActive;
  245.     int __fastcall GetCount(void);
  246.     bool __fastcall GetCurrentRowSelected(void);
  247.     System::AnsiString __fastcall GetItem(int Index);
  248.     int __fastcall Insert(const System::AnsiString Item);
  249.     void __fastcall SetCurrentRowSelected(bool Value);
  250.     void __fastcall StringsChanged(System::TObject* Sender);
  251.     
  252. protected:
  253.     System::AnsiString __fastcall CurrentRow(void);
  254.     int __fastcall Compare(const System::AnsiString Item1, const System::AnsiString Item2);
  255.     void __fastcall LinkActive(bool Value);
  256.     
  257. public:
  258.     __fastcall TBookmarkList(TCustomDBGrid* AGrid);
  259.     __fastcall virtual ~TBookmarkList(void);
  260.     void __fastcall Clear(void);
  261.     void __fastcall Delete(void);
  262.     bool __fastcall Find(const System::AnsiString Item, int &Index);
  263.     int __fastcall IndexOf(const System::AnsiString Item);
  264.     bool __fastcall Refresh(void);
  265.     __property int Count = {read=GetCount, nodefault};
  266.     __property bool CurrentRowSelected = {read=GetCurrentRowSelected, write=SetCurrentRowSelected, nodefault
  267.         };
  268.     __property System::AnsiString Items[int Index] = {read=GetItem/*, default*/};
  269. };
  270.  
  271. enum TDBGridOption { dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, 
  272.     dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgMultiSelect 
  273.     };
  274.  
  275. typedef Set<TDBGridOption, dgEditing, dgMultiSelect>  TDBGridOptions;
  276.  
  277. typedef void __fastcall (__closure *TDrawDataCellEvent)(System::TObject* Sender, const Windows::TRect 
  278.     &Rect, Db::TField* Field, Grids::TGridDrawState State);
  279.  
  280. typedef void __fastcall (__closure *TDrawColumnCellEvent)(System::TObject* Sender, const Windows::TRect 
  281.     &Rect, int DataCol, TColumn* Column, Grids::TGridDrawState State);
  282.  
  283. class __declspec(pascalimplementation) TCustomDBGrid : public Grids::TCustomGrid
  284. {
  285.     typedef Grids::TCustomGrid inherited;
  286.     
  287. private:
  288.     Controls::TImageList* FIndicators;
  289.     Graphics::TFont* FTitleFont;
  290.     bool FReadOnly;
  291.     bool FConnected;
  292.     bool FUserChange;
  293.     bool FDataChanged;
  294.     bool FEditRequest;
  295.     bool FLayoutFromDataset;
  296.     TDBGridOptions FOptions;
  297.     Byte FTitleOffset;
  298.     Byte FIndicatorOffset;
  299.     Byte FUpdateLock;
  300.     Byte FLayoutLock;
  301.     bool FInColExit;
  302.     bool FDefaultDrawing;
  303.     bool FSelfChangingTitleFont;
  304.     bool FSelecting;
  305.     int FSelRow;
  306.     TGridDataLink* FDataLink;
  307.     Classes::TNotifyEvent FOnColEnter;
  308.     Classes::TNotifyEvent FOnColExit;
  309.     TDrawDataCellEvent FOnDrawDataCell;
  310.     TDrawColumnCellEvent FOnDrawColumnCell;
  311.     System::AnsiString FEditText;
  312.     TDBGridColumns* FColumns;
  313.     Classes::TNotifyEvent FOnEditButtonClick;
  314.     Grids::TMovedEvent FOnColumnMoved;
  315.     TBookmarkList* FBookmarks;
  316.     System::AnsiString FSelectionAnchor;
  317.     bool __fastcall AcquireFocus(void);
  318.     void __fastcall DataChanged(void);
  319.     void __fastcall EditingChanged(void);
  320.     bool __fastcall Edit(void);
  321.     Db::TDataSource* __fastcall GetDataSource(void);
  322.     int __fastcall GetFieldCount(void);
  323.     Db::TField* __fastcall GetFields(int FieldIndex);
  324.     Db::TField* __fastcall GetSelectedField(void);
  325.     int __fastcall GetSelectedIndex(void);
  326.     void __fastcall InternalLayout(void);
  327.     void __fastcall MoveCol(int RawCol);
  328.     void __fastcall RecordChanged(Db::TField* Field);
  329.     void __fastcall SetColumns(TDBGridColumns* Value);
  330.     void __fastcall SetDataSource(Db::TDataSource* Value);
  331.     HIDESBASE void __fastcall SetOptions(TDBGridOptions Value);
  332.     void __fastcall SetSelectedField(Db::TField* Value);
  333.     void __fastcall SetSelectedIndex(int Value);
  334.     void __fastcall SetTitleFont(Graphics::TFont* Value);
  335.     void __fastcall TitleFontChanged(System::TObject* Sender);
  336.     void __fastcall UpdateData(void);
  337.     void __fastcall UpdateActive(void);
  338.     void __fastcall UpdateScrollBar(void);
  339.     void __fastcall UpdateRowCount(void);
  340.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TMessage &Message);
  341.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  342.     HIDESBASE MESSAGE void __fastcall CMParentFontChanged(Messages::TMessage &Message);
  343.     MESSAGE void __fastcall CMDeferLayout(void *Message);
  344.     HIDESBASE MESSAGE void __fastcall CMDesignHitTest(Messages::TWMMouse &Msg);
  345.     HIDESBASE MESSAGE void __fastcall WMSetCursor(Messages::TWMSetCursor &Msg);
  346.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  347.     HIDESBASE MESSAGE void __fastcall WMVScroll(Messages::TWMScroll &Message);
  348.     
  349. protected:
  350.     bool FUpdateFields;
  351.     bool FAcquireFocus;
  352.     int __fastcall RawToDataColumn(int ACol);
  353.     int __fastcall DataToRawColumn(int ACol);
  354.     bool __fastcall AcquireLayoutLock(void);
  355.     void __fastcall BeginLayout(void);
  356.     void __fastcall BeginUpdate(void);
  357.     void __fastcall CancelLayout(void);
  358.     virtual bool __fastcall CanEditAcceptKey(char Key);
  359.     virtual bool __fastcall CanEditModify(void);
  360.     virtual bool __fastcall CanEditShow(void);
  361.     virtual void __fastcall ColumnMoved(long FromIndex, long ToIndex);
  362.     virtual void __fastcall ColEnter(void);
  363.     virtual void __fastcall ColExit(void);
  364.     virtual void __fastcall ColWidthsChanged(void);
  365.     virtual TDBGridColumns* __fastcall CreateColumns(void);
  366.     virtual Grids::TInplaceEdit* __fastcall CreateEditor(void);
  367.     virtual void __fastcall CreateWnd(void);
  368.     void __fastcall DeferLayout(void);
  369.     virtual void __fastcall DefineFieldMap(void);
  370.     virtual void __fastcall DrawCell(long ACol, long ARow, const Windows::TRect &ARect, Grids::TGridDrawState 
  371.         AState);
  372.     virtual void __fastcall DrawDataCell(const Windows::TRect &Rect, Db::TField* Field, Grids::TGridDrawState 
  373.         State);
  374.     virtual void __fastcall DrawColumnCell(const Windows::TRect &Rect, int DataCol, TColumn* Column, Grids::TGridDrawState 
  375.         State);
  376.     virtual void __fastcall EditButtonClick(void);
  377.     void __fastcall EndLayout(void);
  378.     void __fastcall EndUpdate(void);
  379.     Db::TField* __fastcall GetColField(int DataCol);
  380.     virtual int __fastcall GetEditLimit(void);
  381.     virtual System::AnsiString __fastcall GetEditMask(long ACol, long ARow);
  382.     virtual System::AnsiString __fastcall GetEditText(long ACol, long ARow);
  383.     System::AnsiString __fastcall GetFieldValue(int ACol);
  384.     virtual bool __fastcall HighlightCell(int DataCol, int DataRow, const System::AnsiString Value, Grids::TGridDrawState 
  385.         AState);
  386.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  387.     virtual void __fastcall KeyPress(char &Key);
  388.     virtual void __fastcall LayoutChanged(void);
  389.     virtual void __fastcall LinkActive(bool Value);
  390.     virtual void __fastcall Loaded(void);
  391.     virtual void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  392.         int Y);
  393.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  394.         );
  395.     virtual void __fastcall Scroll(int Distance);
  396.     virtual void __fastcall SetColumnAttributes(void);
  397.     virtual void __fastcall SetEditText(long ACol, long ARow, const System::AnsiString Value);
  398.     bool __fastcall StoreColumns(void);
  399.     virtual void __fastcall TimedScroll(Grids::TGridScrollDirection Direction);
  400.     __property TDBGridColumns* Columns = {read=FColumns, write=SetColumns, nodefault};
  401.     __property bool DefaultDrawing = {read=FDefaultDrawing, write=FDefaultDrawing, default=1};
  402.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  403.     __property TGridDataLink* DataLink = {read=FDataLink, nodefault};
  404.     __property Byte IndicatorOffset = {read=FIndicatorOffset, nodefault};
  405.     __property Byte LayoutLock = {read=FLayoutLock, nodefault};
  406.     __property TDBGridOptions Options = {read=FOptions, write=SetOptions, default=3325};
  407.     __property ParentColor ;
  408.     __property bool ReadOnly = {read=FReadOnly, write=FReadOnly, default=0};
  409.     __property TBookmarkList* SelectedRows = {read=FBookmarks, nodefault};
  410.     __property Graphics::TFont* TitleFont = {read=FTitleFont, write=SetTitleFont, nodefault};
  411.     __property Byte UpdateLock = {read=FUpdateLock, nodefault};
  412.     __property Classes::TNotifyEvent OnColEnter = {read=FOnColEnter, write=FOnColEnter};
  413.     __property Classes::TNotifyEvent OnColExit = {read=FOnColExit, write=FOnColExit};
  414.     __property TDrawDataCellEvent OnDrawDataCell = {read=FOnDrawDataCell, write=FOnDrawDataCell};
  415.     __property TDrawColumnCellEvent OnDrawColumnCell = {read=FOnDrawColumnCell, write=FOnDrawColumnCell
  416.         };
  417.     __property Classes::TNotifyEvent OnEditButtonClick = {read=FOnEditButtonClick, write=FOnEditButtonClick
  418.         };
  419.     __property Grids::TMovedEvent OnColumnMoved = {read=FOnColumnMoved, write=FOnColumnMoved};
  420.     
  421. public:
  422.     __fastcall virtual TCustomDBGrid(Classes::TComponent* AOwner);
  423.     __fastcall virtual ~TCustomDBGrid(void);
  424.     void __fastcall DefaultDrawDataCell(const Windows::TRect &Rect, Db::TField* Field, Grids::TGridDrawState 
  425.         State);
  426.     void __fastcall DefaultDrawColumnCell(const Windows::TRect &Rect, int DataCol, TColumn* Column, Grids::TGridDrawState 
  427.         State);
  428.     bool __fastcall ValidFieldIndex(int FieldIndex);
  429.     __property EditorMode ;
  430.     __property int FieldCount = {read=GetFieldCount, nodefault};
  431.     __property Db::TField* Fields[int FieldIndex] = {read=GetFields};
  432.     __property Db::TField* SelectedField = {read=GetSelectedField, write=SetSelectedField, nodefault};
  433.     __property int SelectedIndex = {read=GetSelectedIndex, write=SetSelectedIndex, nodefault};
  434. public:
  435.     /* TWinControl.CreateParented */ __fastcall TCustomDBGrid(HWND ParentWindow) : Grids::TCustomGrid(ParentWindow
  436.         ) { }
  437.     
  438. };
  439.  
  440. class __declspec(delphiclass) TDBGrid;
  441. class __declspec(pascalimplementation) TDBGrid : public TCustomDBGrid
  442. {
  443.     typedef TCustomDBGrid inherited;
  444.     
  445. public:
  446.     __property Canvas ;
  447.     __property SelectedRows ;
  448.     
  449. __published:
  450.     __property Align ;
  451.     __property BorderStyle ;
  452.     __property Color ;
  453.     __property Columns  = {stored=StoreColumns};
  454.     __property Ctl3D ;
  455.     __property DataSource ;
  456.     __property DefaultDrawing ;
  457.     __property DragCursor ;
  458.     __property DragMode ;
  459.     __property Enabled ;
  460.     __property FixedColor ;
  461.     __property Font ;
  462.     __property ImeMode ;
  463.     __property ImeName ;
  464.     __property Options ;
  465.     __property ParentColor ;
  466.     __property ParentCtl3D ;
  467.     __property ParentFont ;
  468.     __property ParentShowHint ;
  469.     __property PopupMenu ;
  470.     __property ReadOnly ;
  471.     __property ShowHint ;
  472.     __property TabOrder ;
  473.     __property TabStop ;
  474.     __property TitleFont ;
  475.     __property Visible ;
  476.     __property OnColEnter ;
  477.     __property OnColExit ;
  478.     __property OnColumnMoved ;
  479.     __property OnDrawDataCell ;
  480.     __property OnDrawColumnCell ;
  481.     __property OnDblClick ;
  482.     __property OnDragDrop ;
  483.     __property OnDragOver ;
  484.     __property OnEditButtonClick ;
  485.     __property OnEndDrag ;
  486.     __property OnEnter ;
  487.     __property OnExit ;
  488.     __property OnKeyDown ;
  489.     __property OnKeyPress ;
  490.     __property OnKeyUp ;
  491.     __property OnStartDrag ;
  492. public:
  493.     /* TCustomDBGrid.Create */ __fastcall virtual TDBGrid(Classes::TComponent* AOwner) : Dbgrids::TCustomDBGrid(
  494.         AOwner) { }
  495.     /* TCustomDBGrid.Destroy */ __fastcall virtual ~TDBGrid(void) { }
  496.     
  497. public:
  498.     /* TWinControl.CreateParented */ __fastcall TDBGrid(HWND ParentWindow) : Dbgrids::TCustomDBGrid(ParentWindow
  499.         ) { }
  500.     
  501. };
  502.  
  503. //-- var, const, procedure ---------------------------------------------------
  504. #define ColumnTitleValues 0x1E0
  505. #define cm_DeferLayout (Word)(1124)
  506. #define IndicatorWidth (Byte)(11)
  507. //-- template instantiations -------------------------------------------------
  508. template class TDBGridOptions ;
  509. template class TColumnValues ;
  510.  
  511. }    /* namespace Dbgrids */
  512.  
  513. #pragma warn .par
  514. #pragma warn .hid 
  515. #pragma warn .inl
  516.  
  517. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  518. using namespace Dbgrids;
  519. #endif
  520. //-- end unit ----------------------------------------------------------------
  521. #endif    // DBGrids
  522.