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

  1. //----------------------------------------------------------------------------
  2. // DBCtrls.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: DBCtrls.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef DBCtrlsHPP
  6. #define DBCtrlsHPP
  7. //----------------------------------------------------------------------------
  8. #include <Buttons.hpp>
  9. #include <Mask.hpp>
  10. #include <DBTables.hpp>
  11. #include <DB.hpp>
  12. #include <ExtCtrls.hpp>
  13. #include <StdCtrls.hpp>
  14. #include <Menus.hpp>
  15. #include <Graphics.hpp>
  16. #include <Forms.hpp>
  17. #include <Controls.hpp>
  18. #include <Classes.hpp>
  19. #include <Messages.hpp>
  20. #include <Windows.hpp>
  21. #include <SysUtils.hpp>
  22. #include <System.hpp>
  23. #pragma warn -par
  24. #pragma warn -hid 
  25. #pragma warn -inl
  26.  
  27. namespace Dbctrls
  28. {
  29. //-- type declarations -------------------------------------------------------
  30. class __declspec(delphiclass) TPaintControl;
  31. class __declspec(pascalimplementation) TPaintControl : public System::TObject
  32. {
  33.     typedef System::TObject inherited;
  34.     
  35. private:
  36.     Controls::TWinControl* FOwner;
  37.     System::AnsiString FClassName;
  38.     HWND FHandle;
  39.     void *FObjectInstance;
  40.     void *FDefWindowProc;
  41.     bool FCtl3dButton;
  42.     HWND __fastcall GetHandle(void);
  43.     void __fastcall SetCtl3DButton(bool Value);
  44.     void __fastcall WndProc(Messages::TMessage &Message);
  45.     
  46. public:
  47.     __fastcall TPaintControl(Controls::TWinControl* Owner, const System::AnsiString ClassName);
  48.     __fastcall virtual ~TPaintControl(void);
  49.     void __fastcall DestroyHandle(void);
  50.     __property bool Ctl3DButton = {read=FCtl3dButton, write=SetCtl3DButton, nodefault};
  51.     __property HWND Handle = {read=GetHandle, nodefault};
  52. };
  53.  
  54. class __declspec(delphiclass) TDBEdit;
  55. class __declspec(pascalimplementation) TDBEdit : public Mask::TCustomMaskEdit
  56. {
  57.     typedef Mask::TCustomMaskEdit inherited;
  58.     
  59. private:
  60.     Dbtables::TFieldDataLink* FDataLink;
  61.     Controls::TControlCanvas* FCanvas;
  62.     TAlignment FAlignment;
  63.     bool FFocused;
  64.     void __fastcall DataChange(System::TObject* Sender);
  65.     void __fastcall EditingChange(System::TObject* Sender);
  66.     System::AnsiString __fastcall GetDataField(void);
  67.     Db::TDataSource* __fastcall GetDataSource(void);
  68.     Db::TField* __fastcall GetField(void);
  69.     bool __fastcall GetReadOnly(void);
  70.     POINT __fastcall GetTextMargins(void);
  71.     void __fastcall SetDataField(const System::AnsiString Value);
  72.     void __fastcall SetDataSource(Db::TDataSource* Value);
  73.     void __fastcall SetFocused(bool Value);
  74.     HIDESBASE void __fastcall SetReadOnly(bool Value);
  75.     void __fastcall UpdateData(System::TObject* Sender);
  76.     HIDESBASE MESSAGE void __fastcall WMCut(Messages::TMessage &Message);
  77.     HIDESBASE MESSAGE void __fastcall WMPaste(Messages::TMessage &Message);
  78.     HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  79.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  80.     HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  81.     MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  82.     
  83. protected:
  84.     virtual void __fastcall Change(void);
  85.     virtual bool __fastcall EditCanModify(void);
  86.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  87.     virtual void __fastcall KeyPress(char &Key);
  88.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  89.         );
  90.     virtual void __fastcall Reset(void);
  91.     
  92. public:
  93.     __fastcall virtual TDBEdit(Classes::TComponent* AOwner);
  94.     __fastcall virtual ~TDBEdit(void);
  95.     __property Db::TField* Field = {read=GetField, nodefault};
  96.     
  97. __published:
  98.     __property AutoSelect ;
  99.     __property AutoSize ;
  100.     __property BorderStyle ;
  101.     __property CharCase ;
  102.     __property Color ;
  103.     __property Ctl3D ;
  104.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  105.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  106.     __property DragCursor ;
  107.     __property DragMode ;
  108.     __property Enabled ;
  109.     __property Font ;
  110.     __property ImeMode ;
  111.     __property ImeName ;
  112.     __property MaxLength ;
  113.     __property ParentColor ;
  114.     __property ParentCtl3D ;
  115.     __property ParentFont ;
  116.     __property ParentShowHint ;
  117.     __property PasswordChar ;
  118.     __property PopupMenu ;
  119.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  120.     __property ShowHint ;
  121.     __property TabOrder ;
  122.     __property TabStop ;
  123.     __property Visible ;
  124.     __property OnChange ;
  125.     __property OnClick ;
  126.     __property OnDblClick ;
  127.     __property OnDragDrop ;
  128.     __property OnDragOver ;
  129.     __property OnEndDrag ;
  130.     __property OnEnter ;
  131.     __property OnExit ;
  132.     __property OnKeyDown ;
  133.     __property OnKeyPress ;
  134.     __property OnKeyUp ;
  135.     __property OnMouseDown ;
  136.     __property OnMouseMove ;
  137.     __property OnMouseUp ;
  138.     __property OnStartDrag ;
  139. public:
  140.     /* TWinControl.CreateParented */ __fastcall TDBEdit(HWND ParentWindow) : Mask::TCustomMaskEdit(ParentWindow
  141.         ) { }
  142.     
  143. };
  144.  
  145. class __declspec(delphiclass) TDBText;
  146. class __declspec(pascalimplementation) TDBText : public Stdctrls::TCustomLabel
  147. {
  148.     typedef Stdctrls::TCustomLabel inherited;
  149.     
  150. private:
  151.     Dbtables::TFieldDataLink* FDataLink;
  152.     void __fastcall DataChange(System::TObject* Sender);
  153.     System::AnsiString __fastcall GetDataField(void);
  154.     Db::TDataSource* __fastcall GetDataSource(void);
  155.     Db::TField* __fastcall GetField(void);
  156.     System::AnsiString __fastcall GetFieldText(void);
  157.     void __fastcall SetDataField(const System::AnsiString Value);
  158.     void __fastcall SetDataSource(Db::TDataSource* Value);
  159.     MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  160.     
  161. protected:
  162.     virtual System::AnsiString __fastcall GetLabelText(void);
  163.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  164.         );
  165.     virtual void __fastcall SetAutoSize(bool Value);
  166.     
  167. public:
  168.     __fastcall virtual TDBText(Classes::TComponent* AOwner);
  169.     __fastcall virtual ~TDBText(void);
  170.     __property Db::TField* Field = {read=GetField, nodefault};
  171.     
  172. __published:
  173.     __property Align ;
  174.     __property Alignment ;
  175.     __property AutoSize ;
  176.     __property Color ;
  177.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  178.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  179.     __property DragCursor ;
  180.     __property DragMode ;
  181.     __property Enabled ;
  182.     __property Font ;
  183.     __property ParentColor ;
  184.     __property ParentFont ;
  185.     __property ParentShowHint ;
  186.     __property PopupMenu ;
  187.     __property Transparent ;
  188.     __property ShowHint ;
  189.     __property Visible ;
  190.     __property WordWrap ;
  191.     __property OnClick ;
  192.     __property OnDblClick ;
  193.     __property OnDragDrop ;
  194.     __property OnDragOver ;
  195.     __property OnEndDrag ;
  196.     __property OnMouseDown ;
  197.     __property OnMouseMove ;
  198.     __property OnMouseUp ;
  199.     __property OnStartDrag ;
  200. };
  201.  
  202. class __declspec(delphiclass) TDBCheckBox;
  203. class __declspec(pascalimplementation) TDBCheckBox : public Stdctrls::TCustomCheckBox
  204. {
  205.     typedef Stdctrls::TCustomCheckBox inherited;
  206.     
  207. private:
  208.     Dbtables::TFieldDataLink* FDataLink;
  209.     System::AnsiString FValueCheck;
  210.     System::AnsiString FValueUncheck;
  211.     TPaintControl* FPaintControl;
  212.     void __fastcall DataChange(System::TObject* Sender);
  213.     System::AnsiString __fastcall GetDataField(void);
  214.     Db::TDataSource* __fastcall GetDataSource(void);
  215.     Db::TField* __fastcall GetField(void);
  216.     Stdctrls::TCheckBoxState __fastcall GetFieldState(void);
  217.     bool __fastcall GetReadOnly(void);
  218.     void __fastcall SetDataField(const System::AnsiString Value);
  219.     void __fastcall SetDataSource(Db::TDataSource* Value);
  220.     void __fastcall SetReadOnly(bool Value);
  221.     void __fastcall SetValueCheck(const System::AnsiString Value);
  222.     void __fastcall SetValueUncheck(const System::AnsiString Value);
  223.     void __fastcall UpdateData(System::TObject* Sender);
  224.     bool __fastcall ValueMatch(const System::AnsiString ValueList, const System::AnsiString Value);
  225.     HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  226.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  227.     MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  228.     
  229. protected:
  230.     virtual void __fastcall Toggle(void);
  231.     virtual void __fastcall KeyPress(char &Key);
  232.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  233.         );
  234.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  235.     
  236. public:
  237.     __fastcall virtual TDBCheckBox(Classes::TComponent* AOwner);
  238.     __fastcall virtual ~TDBCheckBox(void);
  239.     __property Checked ;
  240.     __property Db::TField* Field = {read=GetField, nodefault};
  241.     __property State ;
  242.     
  243. __published:
  244.     __property Alignment ;
  245.     __property AllowGrayed ;
  246.     __property Caption ;
  247.     __property Color ;
  248.     __property Ctl3D ;
  249.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  250.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  251.     __property DragCursor ;
  252.     __property DragMode ;
  253.     __property Enabled ;
  254.     __property Font ;
  255.     __property ParentColor ;
  256.     __property ParentCtl3D ;
  257.     __property ParentFont ;
  258.     __property ParentShowHint ;
  259.     __property PopupMenu ;
  260.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  261.     __property ShowHint ;
  262.     __property TabOrder ;
  263.     __property TabStop ;
  264.     __property System::AnsiString ValueChecked = {read=FValueCheck, write=SetValueCheck, nodefault};
  265.     __property System::AnsiString ValueUnchecked = {read=FValueUncheck, write=SetValueUncheck, nodefault
  266.         };
  267.     __property Visible ;
  268.     __property OnClick ;
  269.     __property OnDragDrop ;
  270.     __property OnDragOver ;
  271.     __property OnEndDrag ;
  272.     __property OnEnter ;
  273.     __property OnExit ;
  274.     __property OnKeyDown ;
  275.     __property OnKeyPress ;
  276.     __property OnKeyUp ;
  277.     __property OnMouseDown ;
  278.     __property OnMouseMove ;
  279.     __property OnMouseUp ;
  280.     __property OnStartDrag ;
  281. public:
  282.     /* TWinControl.CreateParented */ __fastcall TDBCheckBox(HWND ParentWindow) : Stdctrls::TCustomCheckBox(
  283.         ParentWindow) { }
  284.     
  285. };
  286.  
  287. class __declspec(delphiclass) TDBComboBox;
  288. class __declspec(pascalimplementation) TDBComboBox : public Stdctrls::TCustomComboBox
  289. {
  290.     typedef Stdctrls::TCustomComboBox inherited;
  291.     
  292. private:
  293.     Dbtables::TFieldDataLink* FDataLink;
  294.     TPaintControl* FPaintControl;
  295.     void __fastcall DataChange(System::TObject* Sender);
  296.     void __fastcall EditingChange(System::TObject* Sender);
  297.     System::AnsiString __fastcall GetComboText(void);
  298.     System::AnsiString __fastcall GetDataField(void);
  299.     Db::TDataSource* __fastcall GetDataSource(void);
  300.     Db::TField* __fastcall GetField(void);
  301.     bool __fastcall GetReadOnly(void);
  302.     void __fastcall SetComboText(const System::AnsiString Value);
  303.     void __fastcall SetDataField(const System::AnsiString Value);
  304.     void __fastcall SetDataSource(Db::TDataSource* Value);
  305.     void __fastcall SetEditReadOnly(void);
  306.     HIDESBASE void __fastcall SetItems(Classes::TStrings* Value);
  307.     void __fastcall SetReadOnly(bool Value);
  308.     void __fastcall UpdateData(System::TObject* Sender);
  309.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  310.     MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  311.     HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  312.     
  313. protected:
  314.     virtual void __fastcall Change(void);
  315.     virtual void __fastcall Click(void);
  316.     virtual void __fastcall ComboWndProc(Messages::TMessage &Message, HWND ComboWnd, void * ComboProc);
  317.         
  318.     virtual void __fastcall CreateWnd(void);
  319.     virtual void __fastcall DropDown(void);
  320.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  321.     virtual void __fastcall KeyPress(char &Key);
  322.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  323.         );
  324.     virtual void __fastcall SetStyle(Stdctrls::TComboBoxStyle Value);
  325.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  326.     
  327. public:
  328.     __fastcall virtual TDBComboBox(Classes::TComponent* AOwner);
  329.     __fastcall virtual ~TDBComboBox(void);
  330.     __property Db::TField* Field = {read=GetField, nodefault};
  331.     __property Text ;
  332.     
  333. __published:
  334.     __property Style ;
  335.     __property Color ;
  336.     __property Ctl3D ;
  337.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  338.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  339.     __property DragMode ;
  340.     __property DragCursor ;
  341.     __property DropDownCount ;
  342.     __property Enabled ;
  343.     __property Font ;
  344.     __property ImeMode ;
  345.     __property ImeName ;
  346.     __property ItemHeight ;
  347.     __property Items  = {write=SetItems};
  348.     __property ParentColor ;
  349.     __property ParentCtl3D ;
  350.     __property ParentFont ;
  351.     __property ParentShowHint ;
  352.     __property PopupMenu ;
  353.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  354.     __property ShowHint ;
  355.     __property Sorted ;
  356.     __property TabOrder ;
  357.     __property TabStop ;
  358.     __property Visible ;
  359.     __property OnChange ;
  360.     __property OnClick ;
  361.     __property OnDblClick ;
  362.     __property OnDragDrop ;
  363.     __property OnDragOver ;
  364.     __property OnDrawItem ;
  365.     __property OnDropDown ;
  366.     __property OnEndDrag ;
  367.     __property OnEnter ;
  368.     __property OnExit ;
  369.     __property OnKeyDown ;
  370.     __property OnKeyPress ;
  371.     __property OnKeyUp ;
  372.     __property OnMeasureItem ;
  373.     __property OnStartDrag ;
  374. public:
  375.     /* TWinControl.CreateParented */ __fastcall TDBComboBox(HWND ParentWindow) : Stdctrls::TCustomComboBox(
  376.         ParentWindow) { }
  377.     
  378. };
  379.  
  380. class __declspec(delphiclass) TDBListBox;
  381. class __declspec(pascalimplementation) TDBListBox : public Stdctrls::TCustomListBox
  382. {
  383.     typedef Stdctrls::TCustomListBox inherited;
  384.     
  385. private:
  386.     Dbtables::TFieldDataLink* FDataLink;
  387.     void __fastcall DataChange(System::TObject* Sender);
  388.     void __fastcall UpdateData(System::TObject* Sender);
  389.     System::AnsiString __fastcall GetDataField(void);
  390.     Db::TDataSource* __fastcall GetDataSource(void);
  391.     Db::TField* __fastcall GetField(void);
  392.     bool __fastcall GetReadOnly(void);
  393.     void __fastcall SetDataField(const System::AnsiString Value);
  394.     void __fastcall SetDataSource(Db::TDataSource* Value);
  395.     void __fastcall SetReadOnly(bool Value);
  396.     HIDESBASE void __fastcall SetItems(Classes::TStrings* Value);
  397.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  398.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  399.     
  400. protected:
  401.     virtual void __fastcall Click(void);
  402.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  403.     virtual void __fastcall KeyPress(char &Key);
  404.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  405.         );
  406.     
  407. public:
  408.     __fastcall virtual TDBListBox(Classes::TComponent* AOwner);
  409.     __fastcall virtual ~TDBListBox(void);
  410.     __property Db::TField* Field = {read=GetField, nodefault};
  411.     
  412. __published:
  413.     __property Align ;
  414.     __property BorderStyle ;
  415.     __property Color ;
  416.     __property Ctl3D ;
  417.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  418.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  419.     __property DragCursor ;
  420.     __property DragMode ;
  421.     __property Enabled ;
  422.     __property Font ;
  423.     __property ImeMode ;
  424.     __property ImeName ;
  425.     __property IntegralHeight ;
  426.     __property ItemHeight ;
  427.     __property Items  = {write=SetItems};
  428.     __property ParentColor ;
  429.     __property ParentCtl3D ;
  430.     __property ParentFont ;
  431.     __property ParentShowHint ;
  432.     __property PopupMenu ;
  433.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  434.     __property ShowHint ;
  435.     __property Style ;
  436.     __property TabOrder ;
  437.     __property TabStop ;
  438.     __property Visible ;
  439.     __property OnClick ;
  440.     __property OnDblClick ;
  441.     __property OnDragDrop ;
  442.     __property OnDragOver ;
  443.     __property OnDrawItem ;
  444.     __property OnEndDrag ;
  445.     __property OnEnter ;
  446.     __property OnExit ;
  447.     __property OnKeyDown ;
  448.     __property OnKeyPress ;
  449.     __property OnKeyUp ;
  450.     __property OnMeasureItem ;
  451.     __property OnMouseDown ;
  452.     __property OnMouseMove ;
  453.     __property OnMouseUp ;
  454.     __property OnStartDrag ;
  455. public:
  456.     /* TWinControl.CreateParented */ __fastcall TDBListBox(HWND ParentWindow) : Stdctrls::TCustomListBox(
  457.         ParentWindow) { }
  458.     
  459. };
  460.  
  461. class __declspec(delphiclass) TDBRadioGroup;
  462. class __declspec(pascalimplementation) TDBRadioGroup : public Extctrls::TCustomRadioGroup
  463. {
  464.     typedef Extctrls::TCustomRadioGroup inherited;
  465.     
  466. private:
  467.     Dbtables::TFieldDataLink* FDataLink;
  468.     System::AnsiString FValue;
  469.     Classes::TStrings* FValues;
  470.     bool FInSetValue;
  471.     Classes::TNotifyEvent FOnChange;
  472.     void __fastcall DataChange(System::TObject* Sender);
  473.     void __fastcall UpdateData(System::TObject* Sender);
  474.     System::AnsiString __fastcall GetDataField(void);
  475.     Db::TDataSource* __fastcall GetDataSource(void);
  476.     Db::TField* __fastcall GetField(void);
  477.     bool __fastcall GetReadOnly(void);
  478.     System::AnsiString __fastcall GetButtonValue(int Index);
  479.     void __fastcall SetDataField(const System::AnsiString Value);
  480.     void __fastcall SetDataSource(Db::TDataSource* Value);
  481.     void __fastcall SetReadOnly(bool Value);
  482.     void __fastcall SetValue(const System::AnsiString Value);
  483.     HIDESBASE void __fastcall SetItems(Classes::TStrings* Value);
  484.     void __fastcall SetValues(Classes::TStrings* Value);
  485.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  486.     
  487. protected:
  488.     virtual void __fastcall Change(void);
  489.     virtual void __fastcall Click(void);
  490.     virtual void __fastcall KeyPress(char &Key);
  491.     virtual bool __fastcall CanModify(void);
  492.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  493.         );
  494.     __property Dbtables::TFieldDataLink* DataLink = {read=FDataLink, nodefault};
  495.     
  496. public:
  497.     __fastcall virtual TDBRadioGroup(Classes::TComponent* AOwner);
  498.     __fastcall virtual ~TDBRadioGroup(void);
  499.     __property Db::TField* Field = {read=GetField, nodefault};
  500.     __property ItemIndex ;
  501.     __property System::AnsiString Value = {read=FValue, write=SetValue, nodefault};
  502.     
  503. __published:
  504.     __property Align ;
  505.     __property Caption ;
  506.     __property Color ;
  507.     __property Columns ;
  508.     __property Ctl3D ;
  509.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  510.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  511.     __property DragCursor ;
  512.     __property DragMode ;
  513.     __property Enabled ;
  514.     __property Font ;
  515.     __property Items  = {write=SetItems};
  516.     __property ParentColor ;
  517.     __property ParentCtl3D ;
  518.     __property ParentFont ;
  519.     __property ParentShowHint ;
  520.     __property PopupMenu ;
  521.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  522.     __property ShowHint ;
  523.     __property TabOrder ;
  524.     __property TabStop ;
  525.     __property Classes::TStrings* Values = {read=FValues, write=SetValues, nodefault};
  526.     __property Visible ;
  527.     __property Classes::TNotifyEvent OnChange = {read=FOnChange, write=FOnChange};
  528.     __property OnClick ;
  529.     __property OnDragDrop ;
  530.     __property OnDragOver ;
  531.     __property OnEndDrag ;
  532.     __property OnEnter ;
  533.     __property OnExit ;
  534.     __property OnStartDrag ;
  535. public:
  536.     /* TWinControl.CreateParented */ __fastcall TDBRadioGroup(HWND ParentWindow) : Extctrls::TCustomRadioGroup(
  537.         ParentWindow) { }
  538.     
  539. };
  540.  
  541. class __declspec(delphiclass) TDBMemo;
  542. class __declspec(pascalimplementation) TDBMemo : public Stdctrls::TCustomMemo
  543. {
  544.     typedef Stdctrls::TCustomMemo inherited;
  545.     
  546. private:
  547.     Dbtables::TFieldDataLink* FDataLink;
  548.     bool FAutoDisplay;
  549.     bool FFocused;
  550.     bool FMemoLoaded;
  551.     TPaintControl* FPaintControl;
  552.     void __fastcall DataChange(System::TObject* Sender);
  553.     void __fastcall EditingChange(System::TObject* Sender);
  554.     System::AnsiString __fastcall GetDataField(void);
  555.     Db::TDataSource* __fastcall GetDataSource(void);
  556.     Db::TField* __fastcall GetField(void);
  557.     bool __fastcall GetReadOnly(void);
  558.     void __fastcall SetDataField(const System::AnsiString Value);
  559.     void __fastcall SetDataSource(Db::TDataSource* Value);
  560.     HIDESBASE void __fastcall SetReadOnly(bool Value);
  561.     void __fastcall SetAutoDisplay(bool Value);
  562.     void __fastcall SetFocused(bool Value);
  563.     void __fastcall UpdateData(System::TObject* Sender);
  564.     MESSAGE void __fastcall WMCut(Messages::TMessage &Message);
  565.     MESSAGE void __fastcall WMPaste(Messages::TMessage &Message);
  566.     HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  567.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  568.     HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  569.     HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  570.     MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  571.     
  572. protected:
  573.     virtual void __fastcall Change(void);
  574.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  575.     virtual void __fastcall KeyPress(char &Key);
  576.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  577.         );
  578.     virtual void __fastcall WndProc(Messages::TMessage &Message);
  579.     
  580. public:
  581.     __fastcall virtual TDBMemo(Classes::TComponent* AOwner);
  582.     __fastcall virtual ~TDBMemo(void);
  583.     void __fastcall LoadMemo(void);
  584.     __property Db::TField* Field = {read=GetField, nodefault};
  585.     
  586. __published:
  587.     __property Align ;
  588.     __property Alignment ;
  589.     __property bool AutoDisplay = {read=FAutoDisplay, write=SetAutoDisplay, default=1};
  590.     __property BorderStyle ;
  591.     __property Color ;
  592.     __property Ctl3D ;
  593.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  594.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  595.     __property DragCursor ;
  596.     __property DragMode ;
  597.     __property Enabled ;
  598.     __property Font ;
  599.     __property ImeMode ;
  600.     __property ImeName ;
  601.     __property MaxLength ;
  602.     __property ParentColor ;
  603.     __property ParentCtl3D ;
  604.     __property ParentFont ;
  605.     __property ParentShowHint ;
  606.     __property PopupMenu ;
  607.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  608.     __property ScrollBars ;
  609.     __property ShowHint ;
  610.     __property TabOrder ;
  611.     __property TabStop ;
  612.     __property Visible ;
  613.     __property WantTabs ;
  614.     __property WordWrap ;
  615.     __property OnChange ;
  616.     __property OnClick ;
  617.     __property OnDblClick ;
  618.     __property OnDragDrop ;
  619.     __property OnDragOver ;
  620.     __property OnEndDrag ;
  621.     __property OnEnter ;
  622.     __property OnExit ;
  623.     __property OnKeyDown ;
  624.     __property OnKeyPress ;
  625.     __property OnKeyUp ;
  626.     __property OnMouseDown ;
  627.     __property OnMouseMove ;
  628.     __property OnMouseUp ;
  629.     __property OnStartDrag ;
  630. public:
  631.     /* TWinControl.CreateParented */ __fastcall TDBMemo(HWND ParentWindow) : Stdctrls::TCustomMemo(ParentWindow
  632.         ) { }
  633.     
  634. };
  635.  
  636. class __declspec(delphiclass) TDBImage;
  637. class __declspec(pascalimplementation) TDBImage : public Controls::TCustomControl
  638. {
  639.     typedef Controls::TCustomControl inherited;
  640.     
  641. private:
  642.     Dbtables::TFieldDataLink* FDataLink;
  643.     Graphics::TPicture* FPicture;
  644.     TFormBorderStyle FBorderStyle;
  645.     bool FAutoDisplay;
  646.     bool FStretch;
  647.     bool FCenter;
  648.     bool FPictureLoaded;
  649.     bool FQuickDraw;
  650.     void __fastcall DataChange(System::TObject* Sender);
  651.     System::AnsiString __fastcall GetDataField(void);
  652.     Db::TDataSource* __fastcall GetDataSource(void);
  653.     Db::TField* __fastcall GetField(void);
  654.     bool __fastcall GetReadOnly(void);
  655.     void __fastcall PictureChanged(System::TObject* Sender);
  656.     void __fastcall SetAutoDisplay(bool Value);
  657.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  658.     void __fastcall SetCenter(bool Value);
  659.     void __fastcall SetDataField(const System::AnsiString Value);
  660.     void __fastcall SetDataSource(Db::TDataSource* Value);
  661.     void __fastcall SetPicture(Graphics::TPicture* Value);
  662.     void __fastcall SetReadOnly(bool Value);
  663.     void __fastcall SetStretch(bool Value);
  664.     void __fastcall UpdateData(System::TObject* Sender);
  665.     HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  666.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  667.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  668.     HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  669.     MESSAGE void __fastcall WMCut(Messages::TMessage &Message);
  670.     MESSAGE void __fastcall WMCopy(Messages::TMessage &Message);
  671.     MESSAGE void __fastcall WMPaste(Messages::TMessage &Message);
  672.     MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  673.     
  674. protected:
  675.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  676.     virtual HPALETTE __fastcall GetPalette(void);
  677.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  678.     virtual void __fastcall KeyPress(char &Key);
  679.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  680.         );
  681.     virtual void __fastcall Paint(void);
  682.     
  683. public:
  684.     __fastcall virtual TDBImage(Classes::TComponent* AOwner);
  685.     __fastcall virtual ~TDBImage(void);
  686.     void __fastcall CopyToClipboard(void);
  687.     void __fastcall CutToClipboard(void);
  688.     void __fastcall LoadPicture(void);
  689.     void __fastcall PasteFromClipboard(void);
  690.     __property Db::TField* Field = {read=GetField, nodefault};
  691.     __property Graphics::TPicture* Picture = {read=FPicture, write=SetPicture, nodefault};
  692.     
  693. __published:
  694.     __property Align ;
  695.     __property bool AutoDisplay = {read=FAutoDisplay, write=SetAutoDisplay, default=1};
  696.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  697.     __property bool Center = {read=FCenter, write=SetCenter, default=1};
  698.     __property Color ;
  699.     __property Ctl3D ;
  700.     __property System::AnsiString DataField = {read=GetDataField, write=SetDataField, nodefault};
  701.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  702.     __property DragCursor ;
  703.     __property DragMode ;
  704.     __property Enabled ;
  705.     __property Font ;
  706.     __property ParentColor ;
  707.     __property ParentCtl3D ;
  708.     __property ParentFont ;
  709.     __property ParentShowHint ;
  710.     __property PopupMenu ;
  711.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  712.     __property bool QuickDraw = {read=FQuickDraw, write=FQuickDraw, default=1};
  713.     __property ShowHint ;
  714.     __property bool Stretch = {read=FStretch, write=SetStretch, default=0};
  715.     __property TabOrder ;
  716.     __property TabStop ;
  717.     __property Visible ;
  718.     __property OnClick ;
  719.     __property OnDblClick ;
  720.     __property OnDragDrop ;
  721.     __property OnDragOver ;
  722.     __property OnEndDrag ;
  723.     __property OnEnter ;
  724.     __property OnExit ;
  725.     __property OnKeyDown ;
  726.     __property OnKeyPress ;
  727.     __property OnKeyUp ;
  728.     __property OnMouseDown ;
  729.     __property OnMouseMove ;
  730.     __property OnMouseUp ;
  731.     __property OnStartDrag ;
  732. public:
  733.     /* TWinControl.CreateParented */ __fastcall TDBImage(HWND ParentWindow) : Controls::TCustomControl(
  734.         ParentWindow) { }
  735.     
  736. };
  737.  
  738. enum TNavGlyph { ngEnabled, ngDisabled };
  739.  
  740. enum TNavigateBtn { nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel, 
  741.     nbRefresh };
  742.  
  743. typedef Set<TNavigateBtn, nbFirst, nbRefresh>  TButtonSet;
  744.  
  745. enum DBCtrls_01 { nsAllowTimer, nsFocusRect };
  746.  
  747. typedef Set<DBCtrls_01, nsAllowTimer, nsFocusRect>  TNavButtonStyle;
  748.  
  749. typedef void __fastcall (__closure *ENavClick)(System::TObject* Sender, TNavigateBtn Button);
  750.  
  751. class __declspec(delphiclass) TDBNavigator;
  752. class __declspec(delphiclass) TNavDataLink;
  753. class __declspec(pascalimplementation) TNavDataLink : public Db::TDataLink
  754. {
  755.     typedef Db::TDataLink inherited;
  756.     
  757. private:
  758.     TDBNavigator* FNavigator;
  759.     
  760. protected:
  761.     virtual void __fastcall EditingChanged(void);
  762.     virtual void __fastcall DataSetChanged(void);
  763.     virtual void __fastcall ActiveChanged(void);
  764.     
  765. public:
  766.     __fastcall TNavDataLink(TDBNavigator* ANav);
  767.     __fastcall virtual ~TNavDataLink(void);
  768. };
  769.  
  770. class __declspec(delphiclass) TNavButton;
  771. class __declspec(pascalimplementation) TDBNavigator : public Extctrls::TCustomPanel
  772. {
  773.     typedef Extctrls::TCustomPanel inherited;
  774.     
  775. private:
  776.     TNavDataLink* FDataLink;
  777.     TButtonSet FVisibleButtons;
  778.     Classes::TStrings* FHints;
  779.     int ButtonWidth;
  780.     POINT MinBtnSize;
  781.     ENavClick FOnNavClick;
  782.     TNavigateBtn FocusedButton;
  783.     bool FConfirmDelete;
  784.     Db::TDataSource* __fastcall GetDataSource(void);
  785.     void __fastcall SetDataSource(Db::TDataSource* Value);
  786.     void __fastcall InitButtons(void);
  787.     void __fastcall InitHints(void);
  788.     HIDESBASE void __fastcall Click(System::TObject* Sender);
  789.     void __fastcall BtnMouseDown(System::TObject* Sender, Controls::TMouseButton Button, Classes::TShiftState 
  790.         Shift, int X, int Y);
  791.     HIDESBASE void __fastcall SetVisible(TButtonSet Value);
  792.     void __fastcall AdjustSize(int &W, int &H);
  793.     void __fastcall SetHints(Classes::TStrings* Value);
  794.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  795.     HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
  796.     HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMKillFocus &Message);
  797.     MESSAGE void __fastcall WMGetDlgCode(Messages::TWMNoParams &Message);
  798.     HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  799.     
  800. protected:
  801.     TNavButton* Buttons[10];
  802.     void __fastcall DataChanged(void);
  803.     void __fastcall EditingChanged(void);
  804.     void __fastcall ActiveChanged(void);
  805.     virtual void __fastcall Loaded(void);
  806.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  807.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  808.         );
  809.     virtual void __fastcall GetChildren(Classes::TGetChildProc Proc);
  810.     
  811. public:
  812.     __fastcall virtual TDBNavigator(Classes::TComponent* AOwner);
  813.     __fastcall virtual ~TDBNavigator(void);
  814.     virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
  815.     void __fastcall BtnClick(TNavigateBtn Index);
  816.     
  817. __published:
  818.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  819.     __property TButtonSet VisibleButtons = {read=FVisibleButtons, write=SetVisible, default=1023};
  820.     __property Align ;
  821.     __property DragCursor ;
  822.     __property DragMode ;
  823.     __property Enabled ;
  824.     __property Ctl3D ;
  825.     __property Classes::TStrings* Hints = {read=FHints, write=SetHints, nodefault};
  826.     __property ParentCtl3D ;
  827.     __property ParentShowHint ;
  828.     __property PopupMenu ;
  829.     __property bool ConfirmDelete = {read=FConfirmDelete, write=FConfirmDelete, default=1};
  830.     __property ShowHint ;
  831.     __property TabOrder ;
  832.     __property TabStop ;
  833.     __property Visible ;
  834.     __property ENavClick OnClick = {read=FOnNavClick, write=FOnNavClick};
  835.     __property OnDblClick ;
  836.     __property OnDragDrop ;
  837.     __property OnDragOver ;
  838.     __property OnEndDrag ;
  839.     __property OnEnter ;
  840.     __property OnExit ;
  841.     __property OnResize ;
  842.     __property OnStartDrag ;
  843. public:
  844.     /* TWinControl.CreateParented */ __fastcall TDBNavigator(HWND ParentWindow) : Extctrls::TCustomPanel(
  845.         ParentWindow) { }
  846.     
  847. };
  848.  
  849. class __declspec(pascalimplementation) TNavButton : public Buttons::TSpeedButton
  850. {
  851.     typedef Buttons::TSpeedButton inherited;
  852.     
  853. private:
  854.     TNavigateBtn FIndex;
  855.     TNavButtonStyle FNavStyle;
  856.     Extctrls::TTimer* FRepeatTimer;
  857.     void __fastcall TimerExpired(System::TObject* Sender);
  858.     
  859. protected:
  860.     virtual void __fastcall Paint(void);
  861.     virtual void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  862.         int Y);
  863.     virtual void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  864.         Y);
  865.     
  866. public:
  867.     __fastcall virtual ~TNavButton(void);
  868.     __property TNavButtonStyle NavStyle = {read=FNavStyle, write=FNavStyle, nodefault};
  869.     __property TNavigateBtn Index = {read=FIndex, write=FIndex, nodefault};
  870. public:
  871.     /* TSpeedButton.Create */ __fastcall virtual TNavButton(Classes::TComponent* AOwner) : Buttons::TSpeedButton(
  872.         AOwner) { }
  873.     
  874. };
  875.  
  876. class __declspec(delphiclass) TDataSourceLink;
  877. class __declspec(delphiclass) TDBLookupControl;
  878. class __declspec(delphiclass) TListSourceLink;
  879. class __declspec(pascalimplementation) TListSourceLink : public Db::TDataLink
  880. {
  881.     typedef Db::TDataLink inherited;
  882.     
  883. private:
  884.     TDBLookupControl* FDBLookupControl;
  885.     
  886. protected:
  887.     virtual void __fastcall ActiveChanged(void);
  888.     virtual void __fastcall DataSetChanged(void);
  889. public:
  890.     /* TDataLink.Create */ __fastcall TListSourceLink(void) : Db::TDataLink() { }
  891.     /* TDataLink.Destroy */ __fastcall virtual ~TListSourceLink(void) { }
  892.     
  893. };
  894.  
  895. class __declspec(pascalimplementation) TDBLookupControl : public Controls::TCustomControl
  896. {
  897.     typedef Controls::TCustomControl inherited;
  898.     
  899. private:
  900.     Db::TDataSource* FLookupSource;
  901.     TDataSourceLink* FDataLink;
  902.     TListSourceLink* FListLink;
  903.     System::AnsiString FDataFieldName;
  904.     System::AnsiString FKeyFieldName;
  905.     System::AnsiString FListFieldName;
  906.     int FListFieldIndex;
  907.     Db::TField* FDataField;
  908.     Db::TField* FMasterField;
  909.     Db::TField* FKeyField;
  910.     Db::TField* FListField;
  911.     Classes::TList* FListFields;
  912.     System::Variant FKeyValue;
  913.     System::AnsiString FSearchText;
  914.     bool FLookupMode;
  915.     bool FListActive;
  916.     bool FFocused;
  917.     bool __fastcall CanModify(void);
  918.     void __fastcall CheckNotCircular(void);
  919.     void __fastcall CheckNotLookup(void);
  920.     void __fastcall DataLinkActiveChanged(void);
  921.     void __fastcall DataLinkRecordChanged(Db::TField* Field);
  922.     int __fastcall GetBorderSize(void);
  923.     Db::TDataSource* __fastcall GetDataSource(void);
  924.     System::AnsiString __fastcall GetKeyFieldName(void);
  925.     Db::TDataSource* __fastcall GetListSource(void);
  926.     bool __fastcall GetReadOnly(void);
  927.     int __fastcall GetTextHeight(void);
  928.     virtual void __fastcall KeyValueChanged(void);
  929.     virtual void __fastcall ListLinkActiveChanged(void);
  930.     virtual void __fastcall ListLinkDataChanged(void);
  931.     bool __fastcall LocateKey(void);
  932.     void __fastcall ProcessSearchKey(char Key);
  933.     void __fastcall SelectKeyValue(const System::Variant &Value);
  934.     void __fastcall SetDataFieldName(const System::AnsiString Value);
  935.     void __fastcall SetDataSource(Db::TDataSource* Value);
  936.     void __fastcall SetKeyFieldName(const System::AnsiString Value);
  937.     void __fastcall SetKeyValue(const System::Variant &Value);
  938.     void __fastcall SetListFieldName(const System::AnsiString Value);
  939.     void __fastcall SetListSource(Db::TDataSource* Value);
  940.     void __fastcall SetLookupMode(bool Value);
  941.     void __fastcall SetReadOnly(bool Value);
  942.     MESSAGE void __fastcall WMGetDlgCode(Messages::TMessage &Message);
  943.     HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TMessage &Message);
  944.     HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TMessage &Message);
  945.     
  946. protected:
  947.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  948.         );
  949.     __property System::AnsiString DataField = {read=FDataFieldName, write=SetDataFieldName, nodefault};
  950.         
  951.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource, nodefault};
  952.     __property System::AnsiString KeyField = {read=GetKeyFieldName, write=SetKeyFieldName, nodefault};
  953.     __property System::Variant KeyValue = {read=FKeyValue, write=SetKeyValue};
  954.     __property System::AnsiString ListField = {read=FListFieldName, write=SetListFieldName, nodefault};
  955.         
  956.     __property int ListFieldIndex = {read=FListFieldIndex, write=FListFieldIndex, default=0};
  957.     __property Db::TDataSource* ListSource = {read=GetListSource, write=SetListSource, nodefault};
  958.     __property ParentColor ;
  959.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  960.     __property TabStop ;
  961.     
  962. public:
  963.     __fastcall virtual TDBLookupControl(Classes::TComponent* AOwner);
  964.     __fastcall virtual ~TDBLookupControl(void);
  965. public:
  966.     /* TWinControl.CreateParented */ __fastcall TDBLookupControl(HWND ParentWindow) : Controls::TCustomControl(
  967.         ParentWindow) { }
  968.     
  969. };
  970.  
  971. class __declspec(pascalimplementation) TDataSourceLink : public Db::TDataLink
  972. {
  973.     typedef Db::TDataLink inherited;
  974.     
  975. private:
  976.     TDBLookupControl* FDBLookupControl;
  977.     
  978. protected:
  979.     virtual void __fastcall ActiveChanged(void);
  980.     virtual void __fastcall RecordChanged(Db::TField* Field);
  981. public:
  982.     /* TDataLink.Create */ __fastcall TDataSourceLink(void) : Db::TDataLink() { }
  983.     /* TDataLink.Destroy */ __fastcall virtual ~TDataSourceLink(void) { }
  984.     
  985. };
  986.  
  987. class __declspec(delphiclass) TDBLookupListBox;
  988. class __declspec(pascalimplementation) TDBLookupListBox : public TDBLookupControl
  989. {
  990.     typedef TDBLookupControl inherited;
  991.     
  992. private:
  993.     int FRecordIndex;
  994.     int FRecordCount;
  995.     int FRowCount;
  996.     TFormBorderStyle FBorderStyle;
  997.     bool FPopup;
  998.     bool FKeySelected;
  999.     bool FTracking;
  1000.     bool FTimerActive;
  1001.     bool FLockPosition;
  1002.     int FMousePos;
  1003.     int __fastcall GetKeyIndex(void);
  1004.     virtual void __fastcall KeyValueChanged(void);
  1005.     virtual void __fastcall ListLinkActiveChanged(void);
  1006.     virtual void __fastcall ListLinkDataChanged(void);
  1007.     void __fastcall SelectCurrent(void);
  1008.     void __fastcall SelectItemAt(int X, int Y);
  1009.     void __fastcall SetBorderStyle(Forms::TBorderStyle Value);
  1010.     void __fastcall SetRowCount(int Value);
  1011.     void __fastcall StopTimer(void);
  1012.     void __fastcall StopTracking(void);
  1013.     void __fastcall TimerScroll(void);
  1014.     void __fastcall UpdateScrollBar(void);
  1015.     HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  1016.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  1017.     HIDESBASE MESSAGE void __fastcall WMCancelMode(Messages::TMessage &Message);
  1018.     MESSAGE void __fastcall WMTimer(Messages::TMessage &Message);
  1019.     HIDESBASE MESSAGE void __fastcall WMVScroll(Messages::TWMScroll &Message);
  1020.     
  1021. protected:
  1022.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1023.     virtual void __fastcall CreateWnd(void);
  1024.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  1025.     virtual void __fastcall KeyPress(char &Key);
  1026.     virtual void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  1027.         int Y);
  1028.     virtual void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  1029.     virtual void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  1030.         Y);
  1031.     virtual void __fastcall Paint(void);
  1032.     virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
  1033.     
  1034. public:
  1035.     __fastcall virtual TDBLookupListBox(Classes::TComponent* AOwner);
  1036.     __property KeyValue ;
  1037.     
  1038. __published:
  1039.     __property Align ;
  1040.     __property Forms::TBorderStyle BorderStyle = {read=FBorderStyle, write=SetBorderStyle, default=1};
  1041.     __property Color ;
  1042.     __property Ctl3D ;
  1043.     __property DataField ;
  1044.     __property DataSource ;
  1045.     __property DragCursor ;
  1046.     __property DragMode ;
  1047.     __property Enabled ;
  1048.     __property Font ;
  1049.     __property ImeMode ;
  1050.     __property ImeName ;
  1051.     __property KeyField ;
  1052.     __property ListField ;
  1053.     __property ListFieldIndex ;
  1054.     __property ListSource ;
  1055.     __property ParentColor ;
  1056.     __property ParentCtl3D ;
  1057.     __property ParentFont ;
  1058.     __property ParentShowHint ;
  1059.     __property PopupMenu ;
  1060.     __property ReadOnly ;
  1061.     __property int RowCount = {read=FRowCount, write=SetRowCount, stored=false, nodefault};
  1062.     __property ShowHint ;
  1063.     __property TabOrder ;
  1064.     __property TabStop ;
  1065.     __property Visible ;
  1066.     __property OnClick ;
  1067.     __property OnDblClick ;
  1068.     __property OnDragDrop ;
  1069.     __property OnDragOver ;
  1070.     __property OnEndDrag ;
  1071.     __property OnEnter ;
  1072.     __property OnExit ;
  1073.     __property OnKeyDown ;
  1074.     __property OnKeyPress ;
  1075.     __property OnKeyUp ;
  1076.     __property OnMouseDown ;
  1077.     __property OnMouseMove ;
  1078.     __property OnMouseUp ;
  1079.     __property OnStartDrag ;
  1080. public:
  1081.     /* TDBLookupControl.Destroy */ __fastcall virtual ~TDBLookupListBox(void) { }
  1082.     
  1083. public:
  1084.     /* TWinControl.CreateParented */ __fastcall TDBLookupListBox(HWND ParentWindow) : Dbctrls::TDBLookupControl(
  1085.         ParentWindow) { }
  1086.     
  1087. };
  1088.  
  1089. class __declspec(delphiclass) TPopupDataList;
  1090. class __declspec(pascalimplementation) TPopupDataList : public TDBLookupListBox
  1091. {
  1092.     typedef TDBLookupListBox inherited;
  1093.     
  1094. private:
  1095.     MESSAGE void __fastcall WMMouseActivate(Messages::TMessage &Message);
  1096.     
  1097. protected:
  1098.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1099.     
  1100. public:
  1101.     __fastcall virtual TPopupDataList(Classes::TComponent* AOwner);
  1102. public:
  1103.     /* TDBLookupControl.Destroy */ __fastcall virtual ~TPopupDataList(void) { }
  1104.     
  1105. public:
  1106.     /* TWinControl.CreateParented */ __fastcall TPopupDataList(HWND ParentWindow) : Dbctrls::TDBLookupListBox(
  1107.         ParentWindow) { }
  1108.     
  1109. };
  1110.  
  1111. enum TDropDownAlign { daLeft, daRight, daCenter };
  1112.  
  1113. class __declspec(delphiclass) TDBLookupComboBox;
  1114. class __declspec(pascalimplementation) TDBLookupComboBox : public TDBLookupControl
  1115. {
  1116.     typedef TDBLookupControl inherited;
  1117.     
  1118. private:
  1119.     TPopupDataList* FDataList;
  1120.     int FButtonWidth;
  1121.     System::AnsiString FText;
  1122.     int FDropDownRows;
  1123.     int FDropDownWidth;
  1124.     TDropDownAlign FDropDownAlign;
  1125.     bool FListVisible;
  1126.     bool FPressed;
  1127.     bool FTracking;
  1128.     TAlignment FAlignment;
  1129.     bool FLookupMode;
  1130.     Classes::TNotifyEvent FOnDropDown;
  1131.     Classes::TNotifyEvent FOnCloseUp;
  1132.     virtual void __fastcall KeyValueChanged(void);
  1133.     virtual void __fastcall ListLinkActiveChanged(void);
  1134.     void __fastcall ListMouseUp(System::TObject* Sender, Controls::TMouseButton Button, Classes::TShiftState 
  1135.         Shift, int X, int Y);
  1136.     void __fastcall StopTracking(void);
  1137.     void __fastcall TrackButton(int X, int Y);
  1138.     MESSAGE void __fastcall CMCancelMode(Controls::TCMCancelMode &Message);
  1139.     HIDESBASE MESSAGE void __fastcall CMCtl3DChanged(Messages::TMessage &Message);
  1140.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  1141.     MESSAGE void __fastcall CMGetDataLink(Messages::TMessage &Message);
  1142.     HIDESBASE MESSAGE void __fastcall WMCancelMode(Messages::TMessage &Message);
  1143.     HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMKillFocus &Message);
  1144.     
  1145. protected:
  1146.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  1147.     virtual void __fastcall Paint(void);
  1148.     virtual void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  1149.     virtual void __fastcall KeyPress(char &Key);
  1150.     virtual void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  1151.         int Y);
  1152.     virtual void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  1153.     virtual void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  1154.         Y);
  1155.     virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
  1156.     
  1157. public:
  1158.     __fastcall virtual TDBLookupComboBox(Classes::TComponent* AOwner);
  1159.     void __fastcall CloseUp(bool Accept);
  1160.     void __fastcall DropDown(void);
  1161.     __property KeyValue ;
  1162.     __property bool ListVisible = {read=FListVisible, nodefault};
  1163.     __property System::AnsiString Text = {read=FText, nodefault};
  1164.     
  1165. __published:
  1166.     __property Color ;
  1167.     __property Ctl3D ;
  1168.     __property DataField ;
  1169.     __property DataSource ;
  1170.     __property DragCursor ;
  1171.     __property DragMode ;
  1172.     __property TDropDownAlign DropDownAlign = {read=FDropDownAlign, write=FDropDownAlign, default=0};
  1173.     __property int DropDownRows = {read=FDropDownRows, write=FDropDownRows, default=7};
  1174.     __property int DropDownWidth = {read=FDropDownWidth, write=FDropDownWidth, default=0};
  1175.     __property Enabled ;
  1176.     __property Font ;
  1177.     __property ImeMode ;
  1178.     __property ImeName ;
  1179.     __property KeyField ;
  1180.     __property ListField ;
  1181.     __property ListFieldIndex ;
  1182.     __property ListSource ;
  1183.     __property ParentColor ;
  1184.     __property ParentCtl3D ;
  1185.     __property ParentFont ;
  1186.     __property ParentShowHint ;
  1187.     __property PopupMenu ;
  1188.     __property ReadOnly ;
  1189.     __property ShowHint ;
  1190.     __property TabOrder ;
  1191.     __property TabStop ;
  1192.     __property Visible ;
  1193.     __property OnClick ;
  1194.     __property Classes::TNotifyEvent OnCloseUp = {read=FOnCloseUp, write=FOnCloseUp};
  1195.     __property OnDragDrop ;
  1196.     __property OnDragOver ;
  1197.     __property Classes::TNotifyEvent OnDropDown = {read=FOnDropDown, write=FOnDropDown};
  1198.     __property OnEndDrag ;
  1199.     __property OnEnter ;
  1200.     __property OnExit ;
  1201.     __property OnKeyDown ;
  1202.     __property OnKeyPress ;
  1203.     __property OnKeyUp ;
  1204.     __property OnMouseDown ;
  1205.     __property OnMouseMove ;
  1206.     __property OnMouseUp ;
  1207.     __property OnStartDrag ;
  1208. public:
  1209.     /* TDBLookupControl.Destroy */ __fastcall virtual ~TDBLookupComboBox(void) { }
  1210.     
  1211. public:
  1212.     /* TWinControl.CreateParented */ __fastcall TDBLookupComboBox(HWND ParentWindow) : Dbctrls::TDBLookupControl(
  1213.         ParentWindow) { }
  1214.     
  1215. };
  1216.  
  1217. //-- var, const, procedure ---------------------------------------------------
  1218. #define InitRepeatPause (Word)(400)
  1219. #define RepeatPause (Byte)(100)
  1220. #define SpaceSize (Byte)(5)
  1221. //-- template instantiations -------------------------------------------------
  1222. template class TNavButtonStyle ;
  1223. template class TButtonSet ;
  1224.  
  1225. }    /* namespace Dbctrls */
  1226.  
  1227. #pragma warn .par
  1228. #pragma warn .hid 
  1229. #pragma warn .inl
  1230.  
  1231. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  1232. using namespace Dbctrls;
  1233. #endif
  1234. //-- end unit ----------------------------------------------------------------
  1235. #endif    // DBCtrls
  1236.