home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / Vcl / dblookup.hpp < prev    next >
C/C++ Source or Header  |  2000-02-01  |  14KB  |  372 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1999 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'DBLookup.pas' rev: 5.00
  6.  
  7. #ifndef DBLookupHPP
  8. #define DBLookupHPP
  9.  
  10. #pragma delphiheader begin
  11. #pragma option push -w-
  12. #pragma option push -Vx
  13. #include <DBCtrls.hpp>    // Pascal unit
  14. #include <Grids.hpp>    // Pascal unit
  15. #include <DBTables.hpp>    // Pascal unit
  16. #include <DBGrids.hpp>    // Pascal unit
  17. #include <Buttons.hpp>    // Pascal unit
  18. #include <Menus.hpp>    // Pascal unit
  19. #include <Graphics.hpp>    // Pascal unit
  20. #include <Forms.hpp>    // Pascal unit
  21. #include <SysUtils.hpp>    // Pascal unit
  22. #include <Messages.hpp>    // Pascal unit
  23. #include <Controls.hpp>    // Pascal unit
  24. #include <Db.hpp>    // Pascal unit
  25. #include <StdCtrls.hpp>    // Pascal unit
  26. #include <Classes.hpp>    // Pascal unit
  27. #include <Windows.hpp>    // Pascal unit
  28. #include <SysInit.hpp>    // Pascal unit
  29. #include <System.hpp>    // Pascal unit
  30.  
  31. //-- user supplied -----------------------------------------------------------
  32.  
  33. namespace Dblookup
  34. {
  35. //-- type declarations -------------------------------------------------------
  36. #pragma option push -b-
  37. enum TDBLookupComboStyle { csDropDown, csDropDownList };
  38. #pragma option pop
  39.  
  40. #pragma option push -b-
  41. enum TDBLookupListOption { loColLines, loRowLines, loTitles };
  42. #pragma option pop
  43.  
  44. typedef Set<TDBLookupListOption, loColLines, loTitles>  TDBLookupListOptions;
  45.  
  46. class DELPHICLASS TDBLookupCombo;
  47. class DELPHICLASS TPopupGrid;
  48. class DELPHICLASS TDBLookupList;
  49. class PASCALIMPLEMENTATION TDBLookupList : public Dbgrids::TCustomDBGrid 
  50. {
  51.     typedef Dbgrids::TCustomDBGrid inherited;
  52.     
  53. private:
  54.     Dbctrls::TFieldDataLink* FFieldLink;
  55.     AnsiString FLookupDisplay;
  56.     AnsiString FLookupField;
  57.     Db::TField* FDisplayFld;
  58.     Db::TField* FValueFld;
  59.     AnsiString FValue;
  60.     AnsiString FDisplayValue;
  61.     int FHiliteRow;
  62.     TDBLookupListOptions FOptions;
  63.     int FTitleOffset;
  64.     bool FFoundValue;
  65.     bool FInCellSelect;
  66.     Classes::TNotifyEvent FOnListClick;
  67.     AnsiString __fastcall GetDataField();
  68.     HIDESBASE Db::TDataSource* __fastcall GetDataSource(void);
  69.     Db::TDataSource* __fastcall GetLookupSource(void);
  70.     bool __fastcall GetReadOnly(void);
  71.     void __fastcall FieldLinkActive(System::TObject* Sender);
  72.     void __fastcall DataChange(System::TObject* Sender);
  73.     void __fastcall SetDataField(const AnsiString Value);
  74.     HIDESBASE void __fastcall SetDataSource(Db::TDataSource* Value);
  75.     void __fastcall SetLookupSource(Db::TDataSource* Value);
  76.     void __fastcall SetLookupDisplay(const AnsiString Value);
  77.     void __fastcall SetLookupField(const AnsiString Value);
  78.     void __fastcall SetValue(const AnsiString Value);
  79.     void __fastcall SetDisplayValue(const AnsiString Value);
  80.     void __fastcall SetReadOnly(bool Value);
  81.     HIDESBASE void __fastcall SetOptions(TDBLookupListOptions Value);
  82.     HIDESBASE void __fastcall UpdateData(System::TObject* Sender);
  83.     void __fastcall NewLayout(void);
  84.     void __fastcall DoLookup(void);
  85.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  86.     HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  87.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  88.     
  89. protected:
  90.     virtual bool __fastcall HighlightCell(int DataCol, int DataRow, const AnsiString Value, Grids::TGridDrawState 
  91.         AState);
  92.     DYNAMIC bool __fastcall CanGridAcceptKey(Word Key, Classes::TShiftState Shift);
  93.     virtual void __fastcall DefineFieldMap(void);
  94.     virtual void __fastcall SetColumnAttributes(void);
  95.     DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  96.         int Y);
  97.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  98.     DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  99.         Y);
  100.     virtual bool __fastcall CanEdit(void);
  101.     void __fastcall InitFields(bool ShowError);
  102.     virtual void __fastcall CreateWnd(void);
  103.     DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  104.     DYNAMIC void __fastcall KeyPress(char &Key);
  105.     virtual void __fastcall LinkActive(bool Value);
  106.     virtual void __fastcall Paint(void);
  107.     virtual void __fastcall Scroll(int Distance);
  108.     DYNAMIC void __fastcall ListClick(void);
  109.     virtual void __fastcall Loaded(void);
  110.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  111.         );
  112.     
  113. public:
  114.     __fastcall virtual TDBLookupList(Classes::TComponent* AOwner);
  115.     __fastcall virtual ~TDBLookupList(void);
  116.     __property AnsiString Value = {read=FValue, write=SetValue};
  117.     __property AnsiString DisplayValue = {read=FDisplayValue, write=SetDisplayValue};
  118.     
  119. __published:
  120.     __property AnsiString DataField = {read=GetDataField, write=SetDataField};
  121.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
  122.     __property Db::TDataSource* LookupSource = {read=GetLookupSource, write=SetLookupSource};
  123.     __property AnsiString LookupDisplay = {read=FLookupDisplay, write=SetLookupDisplay};
  124.     __property AnsiString LookupField = {read=FLookupField, write=SetLookupField};
  125.     __property TDBLookupListOptions Options = {read=FOptions, write=SetOptions, default=0};
  126.     __property Classes::TNotifyEvent OnClick = {read=FOnListClick, write=FOnListClick};
  127.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  128.     __property Align ;
  129.     __property Anchors ;
  130.     __property BorderStyle ;
  131.     __property Color ;
  132.     __property Constraints ;
  133.     __property Ctl3D ;
  134.     __property DragCursor ;
  135.     __property DragMode ;
  136.     __property Enabled ;
  137.     __property Font ;
  138.     __property ImeMode ;
  139.     __property ImeName ;
  140.     __property ParentColor ;
  141.     __property ParentCtl3D ;
  142.     __property ParentFont ;
  143.     __property ParentShowHint ;
  144.     __property PopupMenu ;
  145.     __property ShowHint ;
  146.     __property TabOrder ;
  147.     __property TabStop ;
  148.     __property Visible ;
  149.     __property OnDblClick ;
  150.     __property OnDragDrop ;
  151.     __property OnDragOver ;
  152.     __property OnEndDrag ;
  153.     __property OnEnter ;
  154.     __property OnExit ;
  155.     __property OnKeyDown ;
  156.     __property OnKeyPress ;
  157.     __property OnKeyUp ;
  158.     __property OnStartDrag ;
  159. public:
  160.     #pragma option push -w-inl
  161.     /* TWinControl.CreateParented */ inline __fastcall TDBLookupList(HWND ParentWindow) : Dbgrids::TCustomDBGrid(
  162.         ParentWindow) { }
  163.     #pragma option pop
  164.     
  165. };
  166.  
  167.  
  168. class PASCALIMPLEMENTATION TPopupGrid : public TDBLookupList 
  169. {
  170.     typedef TDBLookupList inherited;
  171.     
  172. private:
  173.     TDBLookupCombo* FCombo;
  174.     HIDESBASE MESSAGE void __fastcall CMHintShow(Messages::TMessage &Message);
  175.     
  176. protected:
  177.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  178.     virtual void __fastcall CreateWnd(void);
  179.     HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TWMMouse &Message);
  180.     DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  181.         int Y);
  182.     virtual bool __fastcall CanEdit(void);
  183.     virtual void __fastcall LinkActive(bool Value);
  184.     
  185. public:
  186.     __property RowCount ;
  187.     __fastcall virtual TPopupGrid(Classes::TComponent* AOwner);
  188. public:
  189.     #pragma option push -w-inl
  190.     /* TDBLookupList.Destroy */ inline __fastcall virtual ~TPopupGrid(void) { }
  191.     #pragma option pop
  192.     
  193. public:
  194.     #pragma option push -w-inl
  195.     /* TWinControl.CreateParented */ inline __fastcall TPopupGrid(HWND ParentWindow) : TDBLookupList(ParentWindow
  196.         ) { }
  197.     #pragma option pop
  198.     
  199. };
  200.  
  201.  
  202. class PASCALIMPLEMENTATION TDBLookupCombo : public Stdctrls::TCustomEdit 
  203. {
  204.     typedef Stdctrls::TCustomEdit inherited;
  205.     
  206. private:
  207.     Controls::TControlCanvas* FCanvas;
  208.     int FDropDownCount;
  209.     int FDropDownWidth;
  210.     int FTextMargin;
  211.     Dbctrls::TFieldDataLink* FFieldLink;
  212.     TPopupGrid* FGrid;
  213.     Buttons::TSpeedButton* FButton;
  214.     Controls::TWinControl* FBtnControl;
  215.     TDBLookupComboStyle FStyle;
  216.     Classes::TNotifyEvent FOnDropDown;
  217.     AnsiString __fastcall GetDataField();
  218.     Db::TDataSource* __fastcall GetDataSource(void);
  219.     Db::TDataSource* __fastcall GetLookupSource(void);
  220.     AnsiString __fastcall GetLookupDisplay();
  221.     AnsiString __fastcall GetLookupField();
  222.     bool __fastcall GetReadOnly(void);
  223.     AnsiString __fastcall GetValue();
  224.     AnsiString __fastcall GetDisplayValue();
  225.     int __fastcall GetMinHeight(void);
  226.     TDBLookupListOptions __fastcall GetOptions(void);
  227.     bool __fastcall CanEdit(void);
  228.     bool __fastcall Editable(void);
  229.     void __fastcall SetValue(const AnsiString NewValue);
  230.     void __fastcall SetDisplayValue(const AnsiString NewValue);
  231.     void __fastcall DataChange(System::TObject* Sender);
  232.     void __fastcall EditingChange(System::TObject* Sender);
  233.     void __fastcall SetDataField(const AnsiString Value);
  234.     void __fastcall SetDataSource(Db::TDataSource* Value);
  235.     void __fastcall SetLookupSource(Db::TDataSource* Value);
  236.     void __fastcall SetLookupDisplay(const AnsiString Value);
  237.     void __fastcall SetLookupField(const AnsiString Value);
  238.     HIDESBASE void __fastcall SetReadOnly(bool Value);
  239.     void __fastcall SetOptions(TDBLookupListOptions Value);
  240.     void __fastcall SetStyle(TDBLookupComboStyle Value);
  241.     void __fastcall UpdateData(System::TObject* Sender);
  242.     void __fastcall FieldLinkActive(System::TObject* Sender);
  243.     void __fastcall NonEditMouseDown(Messages::TWMMouse &Message);
  244.     void __fastcall DoSelectAll(void);
  245.     void __fastcall SetEditRect(void);
  246.     MESSAGE void __fastcall WMPaste(Messages::TMessage &Message);
  247.     MESSAGE void __fastcall WMCut(Messages::TMessage &Message);
  248.     HIDESBASE MESSAGE void __fastcall WMKillFocus(Messages::TWMKillFocus &Message);
  249.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  250.     MESSAGE void __fastcall CMCancelMode(Controls::TCMCancelMode &Message);
  251.     HIDESBASE MESSAGE void __fastcall CMExit(Messages::TWMNoParams &Message);
  252.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  253.     HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  254.     HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TWMMouse &Message);
  255.     HIDESBASE MESSAGE void __fastcall WMSetFocus(Messages::TWMSetFocus &Message);
  256.     HIDESBASE MESSAGE void __fastcall CMEnter(Messages::TWMNoParams &Message);
  257.     HIDESBASE MESSAGE void __fastcall CMHintShow(Messages::TMessage &Message);
  258.     HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &Message);
  259.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  260.     HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  261.     
  262. protected:
  263.     virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation
  264.         );
  265.     DYNAMIC void __fastcall Change(void);
  266.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  267.     DYNAMIC void __fastcall KeyDown(Word &Key, Classes::TShiftState Shift);
  268.     DYNAMIC void __fastcall KeyPress(char &Key);
  269.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  270.     virtual void __fastcall CreateWnd(void);
  271.     void __fastcall GridClick(System::TObject* Sender);
  272.     virtual void __fastcall Loaded(void);
  273.     
  274. public:
  275.     __fastcall virtual TDBLookupCombo(Classes::TComponent* AOwner);
  276.     __fastcall virtual ~TDBLookupCombo(void);
  277.     DYNAMIC void __fastcall DropDown(void);
  278.     DYNAMIC void __fastcall CloseUp(void);
  279.     __property AnsiString Value = {read=GetValue, write=SetValue};
  280.     __property AnsiString DisplayValue = {read=GetDisplayValue, write=SetDisplayValue};
  281.     
  282. __published:
  283.     __property AnsiString DataField = {read=GetDataField, write=SetDataField};
  284.     __property Db::TDataSource* DataSource = {read=GetDataSource, write=SetDataSource};
  285.     __property Db::TDataSource* LookupSource = {read=GetLookupSource, write=SetLookupSource};
  286.     __property AnsiString LookupDisplay = {read=GetLookupDisplay, write=SetLookupDisplay};
  287.     __property AnsiString LookupField = {read=GetLookupField, write=SetLookupField};
  288.     __property TDBLookupListOptions Options = {read=GetOptions, write=SetOptions, default=0};
  289.     __property TDBLookupComboStyle Style = {read=FStyle, write=SetStyle, default=0};
  290.     __property Anchors ;
  291.     __property AutoSelect ;
  292.     __property Color ;
  293.     __property Constraints ;
  294.     __property Ctl3D ;
  295.     __property DragCursor ;
  296.     __property DragMode ;
  297.     __property int DropDownCount = {read=FDropDownCount, write=FDropDownCount, default=8};
  298.     __property int DropDownWidth = {read=FDropDownWidth, write=FDropDownWidth, default=0};
  299.     __property Enabled ;
  300.     __property Font ;
  301.     __property ImeMode ;
  302.     __property ImeName ;
  303.     __property MaxLength ;
  304.     __property ParentColor ;
  305.     __property ParentCtl3D ;
  306.     __property ParentFont ;
  307.     __property ParentShowHint ;
  308.     __property PopupMenu ;
  309.     __property bool ReadOnly = {read=GetReadOnly, write=SetReadOnly, default=0};
  310.     __property ShowHint ;
  311.     __property TabOrder ;
  312.     __property TabStop ;
  313.     __property Visible ;
  314.     __property OnChange ;
  315.     __property OnClick ;
  316.     __property OnDblClick ;
  317.     __property OnDragDrop ;
  318.     __property OnDragOver ;
  319.     __property Classes::TNotifyEvent OnDropDown = {read=FOnDropDown, write=FOnDropDown};
  320.     __property OnEndDrag ;
  321.     __property OnEnter ;
  322.     __property OnExit ;
  323.     __property OnKeyDown ;
  324.     __property OnKeyPress ;
  325.     __property OnKeyUp ;
  326.     __property OnMouseDown ;
  327.     __property OnMouseMove ;
  328.     __property OnMouseUp ;
  329.     __property OnStartDrag ;
  330. public:
  331.     #pragma option push -w-inl
  332.     /* TWinControl.CreateParented */ inline __fastcall TDBLookupCombo(HWND ParentWindow) : Stdctrls::TCustomEdit(
  333.         ParentWindow) { }
  334.     #pragma option pop
  335.     
  336. };
  337.  
  338.  
  339. class DELPHICLASS TComboButton;
  340. class PASCALIMPLEMENTATION TComboButton : public Buttons::TSpeedButton 
  341. {
  342.     typedef Buttons::TSpeedButton inherited;
  343.     
  344. protected:
  345.     DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  346.     DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  347.         int Y);
  348. public:
  349.     #pragma option push -w-inl
  350.     /* TSpeedButton.Create */ inline __fastcall virtual TComboButton(Classes::TComponent* AOwner) : Buttons::TSpeedButton(
  351.         AOwner) { }
  352.     #pragma option pop
  353.     #pragma option push -w-inl
  354.     /* TSpeedButton.Destroy */ inline __fastcall virtual ~TComboButton(void) { }
  355.     #pragma option pop
  356.     
  357. };
  358.  
  359.  
  360. //-- var, const, procedure ---------------------------------------------------
  361.  
  362. }    /* namespace Dblookup */
  363. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  364. using namespace Dblookup;
  365. #endif
  366. #pragma option pop    // -w-
  367. #pragma option pop    // -Vx
  368.  
  369. #pragma delphiheader end.
  370. //-- end unit ----------------------------------------------------------------
  371. #endif    // DBLookup
  372.