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

  1. //----------------------------------------------------------------------------
  2. // Buttons.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: Buttons.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef ButtonsHPP
  6. #define ButtonsHPP
  7. //----------------------------------------------------------------------------
  8. #include <CommCtrl.hpp>
  9. #include <ExtCtrls.hpp>
  10. #include <StdCtrls.hpp>
  11. #include <Graphics.hpp>
  12. #include <Forms.hpp>
  13. #include <Controls.hpp>
  14. #include <Classes.hpp>
  15. #include <Messages.hpp>
  16. #include <Windows.hpp>
  17. #include <System.hpp>
  18. #pragma warn -par
  19. #pragma warn -hid 
  20. #pragma warn -inl
  21.  
  22. namespace Buttons
  23. {
  24. //-- type declarations -------------------------------------------------------
  25. enum TButtonLayout { blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom };
  26.  
  27. enum TButtonState { bsUp, bsDisabled, bsDown, bsExclusive };
  28.  
  29. enum TButtonStyle { bsAutoDetect, bsWin31, bsNew };
  30.  
  31. typedef Shortint TNumGlyphs;
  32.  
  33. class __declspec(delphiclass) TSpeedButton;
  34. class __declspec(pascalimplementation) TSpeedButton : public Controls::TGraphicControl
  35. {
  36.     typedef Controls::TGraphicControl inherited;
  37.     
  38. private:
  39.     int FGroupIndex;
  40.     void *FGlyph;
  41.     bool FDown;
  42.     bool FDragging;
  43.     bool FAllowAllUp;
  44.     TButtonLayout FLayout;
  45.     int FSpacing;
  46.     int FMargin;
  47.     void __fastcall GlyphChanged(System::TObject* Sender);
  48.     void __fastcall UpdateExclusive(void);
  49.     Graphics::TBitmap* __fastcall GetGlyph(void);
  50.     void __fastcall SetGlyph(Graphics::TBitmap* Value);
  51.     TNumGlyphs __fastcall GetNumGlyphs(void);
  52.     void __fastcall SetNumGlyphs(TNumGlyphs Value);
  53.     void __fastcall SetDown(bool Value);
  54.     void __fastcall SetAllowAllUp(bool Value);
  55.     void __fastcall SetGroupIndex(int Value);
  56.     void __fastcall SetLayout(TButtonLayout Value);
  57.     void __fastcall SetSpacing(int Value);
  58.     void __fastcall SetMargin(int Value);
  59.     HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  60.     HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  61.     MESSAGE void __fastcall CMButtonPressed(Messages::TMessage &Message);
  62.     MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message);
  63.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  64.     MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message);
  65.     MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message);
  66.     
  67. protected:
  68.     TButtonState FState;
  69.     virtual HPALETTE __fastcall GetPalette(void);
  70.     virtual void __fastcall Loaded(void);
  71.     virtual void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, 
  72.         int Y);
  73.     virtual void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y);
  74.     virtual void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int 
  75.         Y);
  76.     virtual void __fastcall Paint(void);
  77.     
  78. public:
  79.     __fastcall virtual TSpeedButton(Classes::TComponent* AOwner);
  80.     __fastcall virtual ~TSpeedButton(void);
  81.     virtual void __fastcall Click(void);
  82.     
  83. __published:
  84.     __property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0};
  85.     __property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0};
  86.     __property bool Down = {read=FDown, write=SetDown, default=0};
  87.     __property Caption ;
  88.     __property Enabled ;
  89.     __property Font ;
  90.     __property Graphics::TBitmap* Glyph = {read=GetGlyph, write=SetGlyph, nodefault};
  91.     __property TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0};
  92.     __property int Margin = {read=FMargin, write=SetMargin, default=-1};
  93.     __property TNumGlyphs NumGlyphs = {read=GetNumGlyphs, write=SetNumGlyphs, default=1};
  94.     __property ParentFont ;
  95.     __property ParentShowHint ;
  96.     __property ShowHint ;
  97.     __property int Spacing = {read=FSpacing, write=SetSpacing, default=4};
  98.     __property Visible ;
  99.     __property OnClick ;
  100.     __property OnDblClick ;
  101.     __property OnMouseDown ;
  102.     __property OnMouseMove ;
  103.     __property OnMouseUp ;
  104. };
  105.  
  106. enum TBitBtnKind { bkCustom, bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bkIgnore, 
  107.     bkAll };
  108.  
  109. class __declspec(delphiclass) TBitBtn;
  110. class __declspec(pascalimplementation) TBitBtn : public Stdctrls::TButton
  111. {
  112.     typedef Stdctrls::TButton inherited;
  113.     
  114. private:
  115.     Graphics::TCanvas* FCanvas;
  116.     void *FGlyph;
  117.     TButtonStyle FStyle;
  118.     TBitBtnKind FKind;
  119.     TButtonLayout FLayout;
  120.     int FSpacing;
  121.     int FMargin;
  122.     bool IsFocused;
  123.     bool FModifiedGlyph;
  124.     MESSAGE void __fastcall CNMeasureItem(Messages::TWMMeasureItem &Message);
  125.     MESSAGE void __fastcall CNDrawItem(Messages::TWMDrawItem &Message);
  126.     HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message);
  127.     HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message);
  128.     HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message);
  129.     void __fastcall DrawItem(const DRAWITEMSTRUCT &DrawItemStruct);
  130.     void __fastcall SetGlyph(Graphics::TBitmap* Value);
  131.     Graphics::TBitmap* __fastcall GetGlyph(void);
  132.     TNumGlyphs __fastcall GetNumGlyphs(void);
  133.     void __fastcall SetNumGlyphs(TNumGlyphs Value);
  134.     void __fastcall GlyphChanged(System::TObject* Sender);
  135.     bool __fastcall IsCustom(void);
  136.     bool __fastcall IsCustomCaption(void);
  137.     void __fastcall SetStyle(TButtonStyle Value);
  138.     void __fastcall SetKind(TBitBtnKind Value);
  139.     TBitBtnKind __fastcall GetKind(void);
  140.     void __fastcall SetLayout(TButtonLayout Value);
  141.     void __fastcall SetSpacing(int Value);
  142.     void __fastcall SetMargin(int Value);
  143.     
  144. protected:
  145.     virtual void __fastcall CreateHandle(void);
  146.     virtual void __fastcall CreateParams(Controls::TCreateParams &Params);
  147.     virtual HPALETTE __fastcall GetPalette(void);
  148.     virtual void __fastcall SetButtonStyle(bool ADefault);
  149.     
  150. public:
  151.     __fastcall virtual TBitBtn(Classes::TComponent* AOwner);
  152.     __fastcall virtual ~TBitBtn(void);
  153.     virtual void __fastcall Click(void);
  154.     
  155. __published:
  156.     __property Cancel  = {stored=IsCustom, default=0};
  157.     __property Caption  = {stored=IsCustomCaption};
  158.     __property Default  = {stored=IsCustom, default=0};
  159.     __property Enabled ;
  160.     __property Graphics::TBitmap* Glyph = {read=GetGlyph, write=SetGlyph, stored=IsCustom, nodefault};
  161.     __property TBitBtnKind Kind = {read=GetKind, write=SetKind, default=0};
  162.     __property TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0};
  163.     __property int Margin = {read=FMargin, write=SetMargin, default=-1};
  164.     __property ModalResult  = {stored=IsCustom, default=0};
  165.     __property TNumGlyphs NumGlyphs = {read=GetNumGlyphs, write=SetNumGlyphs, stored=IsCustom, default=1
  166.         };
  167.     __property ParentShowHint ;
  168.     __property ShowHint ;
  169.     __property TButtonStyle Style = {read=FStyle, write=SetStyle, default=0};
  170.     __property int Spacing = {read=FSpacing, write=SetSpacing, default=4};
  171.     __property TabOrder ;
  172.     __property TabStop ;
  173.     __property Visible ;
  174.     __property OnEnter ;
  175.     __property OnExit ;
  176. public:
  177.     /* TWinControl.CreateParented */ __fastcall TBitBtn(HWND ParentWindow) : Stdctrls::TButton(ParentWindow
  178.         ) { }
  179.     
  180. };
  181.  
  182. //-- var, const, procedure ---------------------------------------------------
  183. extern Windows::TRect __fastcall DrawButtonFace(Graphics::TCanvas* Canvas, const Windows::TRect &Client
  184.     , int BevelWidth, TButtonStyle Style, bool IsRounded, bool IsDown, bool IsFocused);
  185. extern void __fastcall finalization(void);
  186.  
  187. }    /* namespace Buttons */
  188.  
  189. #pragma warn .par
  190. #pragma warn .hid 
  191. #pragma warn .inl
  192.  
  193. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  194. using namespace Buttons;
  195. #endif
  196. //-- end unit ----------------------------------------------------------------
  197. #endif    // Buttons
  198.