home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1997 May / VPR9705A.ISO / VPR_DATA / PROGRAM / CBTRIAL / SETUP / DATA.Z / TABS.HPP < prev    next >
C/C++ Source or Header  |  1997-02-14  |  10KB  |  250 lines

  1. //----------------------------------------------------------------------------
  2. // Tabs.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: Tabs.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef TabsHPP
  6. #define TabsHPP
  7. //----------------------------------------------------------------------------
  8. #include <Menus.hpp>
  9. #include <Messages.hpp>
  10. #include <Controls.hpp>
  11. #include <Forms.hpp>
  12. #include <Graphics.hpp>
  13. #include <Classes.hpp>
  14. #include <Windows.hpp>
  15. #include <System.hpp>
  16. #pragma warn -par
  17. #pragma warn -hid 
  18. #pragma warn -inl
  19.  
  20. namespace Tabs
  21. {
  22. //-- type declarations -------------------------------------------------------
  23. enum TScrollBtn { sbLeft, sbRight };
  24.  
  25. class __declspec(delphiclass) TScroller;
  26. class __declspec(pascalimplementation) TScroller : public Controls::TCustomControl
  27. {
  28.     typedef Controls::TCustomControl inherited;
  29.     
  30. private:
  31.     long FMin;
  32.     long FMax;
  33.     long FPosition;
  34.     Classes::TNotifyEvent FOnClick;
  35.     int FChange;
  36.     Graphics::TBitmap* Bitmap;
  37.     bool Pressed;
  38.     bool Down;
  39.     TScrollBtn Current;
  40.     int pWidth;
  41.     int pHeight;
  42.     void __fastcall SetMin(long Value);
  43.     void __fastcall SetMax(long Value);
  44.     void __fastcall SetPosition(long Value);
  45.     bool __fastcall CanScrollLeft(void);
  46.     bool __fastcall CanScrollRight(void);
  47.     HIDESBASE void __fastcall DoMouseDown(int X);
  48.     HIDESBASE MESSAGE void __fastcall WMLButtonDown(Messages::TWMMouse &Message);
  49.     HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  50.     HIDESBASE MESSAGE void __fastcall WMMouseMove(Messages::TWMMouse &Message);
  51.     HIDESBASE MESSAGE void __fastcall WMLButtonUp(Messages::TWMMouse &Message);
  52.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  53.     
  54. public:
  55.     __fastcall virtual TScroller(Classes::TComponent* AOwner);
  56.     __fastcall virtual ~TScroller(void);
  57.     virtual void __fastcall Paint(void);
  58.     
  59. __published:
  60.     __property Classes::TNotifyEvent OnClick = {read=FOnClick, write=FOnClick};
  61.     __property long Min = {read=FMin, write=SetMin, default=0};
  62.     __property long Max = {read=FMax, write=SetMax, default=0};
  63.     __property long Position = {read=FPosition, write=SetPosition, default=0};
  64.     __property int Change = {read=FChange, write=FChange, default=1};
  65. public:
  66.     /* TWinControl.CreateParented */ __fastcall TScroller(HWND ParentWindow) : Controls::TCustomControl(
  67.         ParentWindow) { }
  68.     
  69. };
  70.  
  71. class __declspec(delphiclass) TTabList;
  72. class __declspec(delphiclass) TTabSet;
  73. enum TTabStyle { tsStandard, tsOwnerDraw };
  74.  
  75. typedef void __fastcall (__closure *TMeasureTabEvent)(System::TObject* Sender, int Index, int &TabWidth
  76.     );
  77.  
  78. typedef void __fastcall (__closure *TDrawTabEvent)(System::TObject* Sender, Graphics::TCanvas* TabCanvas
  79.     , const Windows::TRect &R, int Index, bool Selected);
  80.  
  81. typedef void __fastcall (__closure *TTabChangeEvent)(System::TObject* Sender, int NewTab, bool &AllowChange
  82.     );
  83.  
  84. enum TEdgeType { etNone, etFirstIsSel, etFirstNotSel, etLastIsSel, etLastNotSel, etNotSelToSel, etSelToNotSel, 
  85.     etNotSelToNotSel };
  86.  
  87. class __declspec(pascalimplementation) TTabSet : public Controls::TCustomControl
  88. {
  89.     typedef Controls::TCustomControl inherited;
  90.     
  91. private:
  92.     int FStartMargin;
  93.     int FEndMargin;
  94.     Classes::TStrings* FTabs;
  95.     int FTabIndex;
  96.     int FFirstIndex;
  97.     int FVisibleTabs;
  98.     Graphics::TColor FSelectedColor;
  99.     Graphics::TColor FUnselectedColor;
  100.     Graphics::TColor FBackgroundColor;
  101.     bool FDitherBackground;
  102.     bool FAutoScroll;
  103.     TTabStyle FStyle;
  104.     int FOwnerDrawHeight;
  105.     TMeasureTabEvent FOnMeasureTab;
  106.     TDrawTabEvent FOnDrawTab;
  107.     TTabChangeEvent FOnChange;
  108.     Controls::TImageList* ImageList;
  109.     Graphics::TBitmap* MemBitmap;
  110.     Graphics::TBitmap* BrushBitmap;
  111.     Classes::TList* TabPositions;
  112.     int FTabHeight;
  113.     TScroller* Scroller;
  114.     int TabVersion;
  115.     bool FDoFix;
  116.     Byte FReserved;
  117.     void __fastcall SetSelectedColor(Graphics::TColor Value);
  118.     void __fastcall SetUnselectedColor(Graphics::TColor Value);
  119.     void __fastcall SetBackgroundColor(Graphics::TColor Value);
  120.     void __fastcall SetDitherBackground(bool Value);
  121.     void __fastcall SetAutoScroll(bool Value);
  122.     void __fastcall SetStartMargin(int Value);
  123.     void __fastcall SetEndMargin(int Value);
  124.     void __fastcall SetTabIndex(int Value);
  125.     void __fastcall SetFirstIndex(int Value);
  126.     void __fastcall SetTabList(Classes::TStrings* Value);
  127.     int __fastcall GetTabCount(void);
  128.     System::AnsiString __fastcall GetTabName(int Value);
  129.     void __fastcall SetTabName(int Value, const System::AnsiString AName);
  130.     void __fastcall SetTabStyle(TTabStyle Value);
  131.     void __fastcall SetTabHeight(int Value);
  132.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  133.     virtual void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  134.         int Y);
  135.     HIDESBASE MESSAGE void __fastcall WMSize(Messages::TWMSize &Message);
  136.     HIDESBASE MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
  137.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  138.     void __fastcall PaintEdge(int X, int Y, int H, TEdgeType Edge);
  139.     void __fastcall CreateBrushPattern(Graphics::TBitmap* Bitmap);
  140.     int __fastcall CalcTabPositions(int Start, int Stop, Graphics::TCanvas* Canvas, int First);
  141.     void __fastcall CreateScroller(void);
  142.     void __fastcall InitBitmaps(void);
  143.     void __fastcall DoneBitmaps(void);
  144.     void __fastcall CreateEdgeParts(void);
  145.     void __fastcall FixTabPos(void);
  146.     MESSAGE void __fastcall WMGetDlgCode(Messages::TWMNoParams &Message);
  147.     HIDESBASE MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
  148.     void __fastcall ScrollClick(System::TObject* Sender);
  149.     void __fastcall ReadIntData(Classes::TReader* Reader);
  150.     void __fastcall ReadBoolData(Classes::TReader* Reader);
  151.     
  152. protected:
  153.     virtual void __fastcall Paint(void);
  154.     virtual void __fastcall DrawTab(Graphics::TCanvas* TabCanvas, const Windows::TRect &R, int Index, bool 
  155.         Selected);
  156.     bool __fastcall CanChange(int NewIndex);
  157.     virtual void __fastcall GetChildren(Classes::TGetChildProc Proc);
  158.     virtual void __fastcall MeasureTab(int Index, int &TabWidth);
  159.     virtual void __fastcall DefineProperties(Classes::TFiler* Filer);
  160.     
  161. public:
  162.     __fastcall virtual TTabSet(Classes::TComponent* AOwner);
  163.     __fastcall virtual ~TTabSet(void);
  164.     int __fastcall ItemAtPos(const POINT &Pos);
  165.     Windows::TRect __fastcall ItemRect(int Item);
  166.     HIDESBASE void __fastcall SelectNext(bool Direction);
  167.     __property Canvas ;
  168.     __property int FirstIndex = {read=FFirstIndex, write=SetFirstIndex, default=0};
  169.     
  170. __published:
  171.     __property Align ;
  172.     __property bool AutoScroll = {read=FAutoScroll, write=SetAutoScroll, default=1};
  173.     __property Graphics::TColor BackgroundColor = {read=FBackgroundColor, write=SetBackgroundColor, default=-2147483633
  174.         };
  175.     __property bool DitherBackground = {read=FDitherBackground, write=SetDitherBackground, default=1};
  176.     __property DragMode ;
  177.     __property Enabled ;
  178.     __property int EndMargin = {read=FEndMargin, write=SetEndMargin, default=5};
  179.     __property Font ;
  180.     __property ParentShowHint ;
  181.     __property PopupMenu ;
  182.     __property ShowHint ;
  183.     __property int StartMargin = {read=FStartMargin, write=SetStartMargin, default=5};
  184.     __property Graphics::TColor SelectedColor = {read=FSelectedColor, write=SetSelectedColor, default=-2147483633
  185.         };
  186.     __property TTabStyle Style = {read=FStyle, write=SetTabStyle, default=0};
  187.     __property int TabHeight = {read=FOwnerDrawHeight, write=SetTabHeight, default=20};
  188.     __property Classes::TStrings* Tabs = {read=FTabs, write=SetTabList, nodefault};
  189.     __property int TabIndex = {read=FTabIndex, write=SetTabIndex, default=-1};
  190.     __property Graphics::TColor UnselectedColor = {read=FUnselectedColor, write=SetUnselectedColor, default=-2147483643
  191.         };
  192.     __property Visible ;
  193.     __property int VisibleTabs = {read=FVisibleTabs, nodefault};
  194.     __property OnClick ;
  195.     __property TTabChangeEvent OnChange = {read=FOnChange, write=FOnChange};
  196.     __property OnDragDrop ;
  197.     __property OnDragOver ;
  198.     __property TDrawTabEvent OnDrawTab = {read=FOnDrawTab, write=FOnDrawTab};
  199.     __property OnEndDrag ;
  200.     __property OnEnter ;
  201.     __property OnExit ;
  202.     __property OnMouseDown ;
  203.     __property OnMouseMove ;
  204.     __property OnMouseUp ;
  205.     __property TMeasureTabEvent OnMeasureTab = {read=FOnMeasureTab, write=FOnMeasureTab};
  206.     __property OnStartDrag ;
  207. public:
  208.     /* TWinControl.CreateParented */ __fastcall TTabSet(HWND ParentWindow) : Controls::TCustomControl(ParentWindow
  209.         ) { }
  210.     
  211. };
  212.  
  213. class __declspec(pascalimplementation) TTabList : public Classes::TStringList
  214. {
  215.     typedef Classes::TStringList inherited;
  216.     
  217. private:
  218.     TTabSet* Tabs;
  219.     
  220. public:
  221.     virtual void __fastcall Insert(int Index, const System::AnsiString S);
  222.     virtual void __fastcall Delete(int Index);
  223.     virtual int __fastcall Add(const System::AnsiString S);
  224.     virtual void __fastcall Put(int Index, const System::AnsiString S);
  225.     virtual void __fastcall Clear(void);
  226.     virtual void __fastcall AddStrings(Classes::TStrings* Strings);
  227. public:
  228.     /* TStringList.Destroy */ __fastcall virtual ~TTabList(void) { }
  229.     
  230. public:
  231.     /* TObject.Create */ __fastcall TTabList(void) : Classes::TStringList() { }
  232.     
  233. };
  234.  
  235. enum TEdgePart { epSelectedLeft, epUnselectedLeft, epSelectedRight, epUnselectedRight };
  236.  
  237. //-- var, const, procedure ---------------------------------------------------
  238.  
  239. }    /* namespace Tabs */
  240.  
  241. #pragma warn .par
  242. #pragma warn .hid 
  243. #pragma warn .inl
  244.  
  245. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  246. using namespace Tabs;
  247. #endif
  248. //-- end unit ----------------------------------------------------------------
  249. #endif    // Tabs
  250.