// Borland C++ Builder // Copyright (c) 1995, 1998 by Borland International // All rights reserved // (DO NOT EDIT: machine generated header) 'CoolButton.pas' rev: 3.00 #ifndef CoolButtonHPP #define CoolButtonHPP #include #include #include #include #include #include #include #include #include #include #include //-- user supplied ----------------------------------------------------------- namespace Coolbutton { //-- type declarations ------------------------------------------------------- enum TButtonLayout { blGlyphLeft, blGlyphRight, blGlyphTop, blGlyphBottom }; enum TButtonState { bsUp, bsDisabled, bsDown, bsExclusive }; enum TButtonStyle { bsAutoDetect, bsWin31, bsNew }; typedef Shortint TNumGlyphs; class DELPHICLASS TCoolButton; class PASCALIMPLEMENTATION TCoolButton : public Controls::TGraphicControl { typedef Controls::TGraphicControl inherited; private: int FGroupIndex; void *FGlyph; bool FDown; bool FDragging; bool FAllowAllUp; TButtonLayout FLayout; int FSpacing; int FMargin; bool FMouseInControl; void __fastcall GlyphChanged(System::TObject* Sender); void __fastcall UpdateExclusive(void); Graphics::TBitmap* __fastcall GetGlyph(void); void __fastcall SetGlyph(Graphics::TBitmap* Value); TNumGlyphs __fastcall GetNumGlyphs(void); void __fastcall SetNumGlyphs(TNumGlyphs Value); void __fastcall SetDown(bool Value); void __fastcall SetAllowAllUp(bool Value); void __fastcall SetGroupIndex(int Value); void __fastcall SetLayout(TButtonLayout Value); void __fastcall SetSpacing(int Value); void __fastcall SetMargin(int Value); void __fastcall UpdateTracking(void); HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Messages::TWMMouse &Message); HIDESBASE MESSAGE void __fastcall CMEnabledChanged(Messages::TMessage &Message); MESSAGE void __fastcall CMButtonPressed(Messages::TMessage &Message); MESSAGE void __fastcall CMDialogChar(Messages::TWMKey &Message); HIDESBASE MESSAGE void __fastcall CMFontChanged(Messages::TMessage &Message); MESSAGE void __fastcall CMTextChanged(Messages::TMessage &Message); MESSAGE void __fastcall CMSysColorChange(Messages::TMessage &Message); HIDESBASE MESSAGE void __fastcall CMMouseLeave(Messages::TMessage &Message); MESSAGE void __fastcall WMEraseBkgnd(Messages::TWMEraseBkgnd &message); HIDESBASE MESSAGE void __fastcall WMPaint(Messages::TWMPaint &message); MESSAGE void __fastcall WMNCPaint(Messages::TWMNoParams &message); protected: TButtonState FState; DYNAMIC HPALETTE __fastcall GetPalette(void); virtual void __fastcall Loaded(void); DYNAMIC void __fastcall MouseDown(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y); DYNAMIC void __fastcall MouseMove(Classes::TShiftState Shift, int X, int Y); DYNAMIC void __fastcall MouseUp(Controls::TMouseButton Button, Classes::TShiftState Shift, int X, int Y); virtual void __fastcall Paint(void); public: __fastcall virtual TCoolButton(Classes::TComponent* AOwner); __fastcall virtual ~TCoolButton(void); DYNAMIC void __fastcall Click(void); __published: __property bool AllowAllUp = {read=FAllowAllUp, write=SetAllowAllUp, default=0}; __property int GroupIndex = {read=FGroupIndex, write=SetGroupIndex, default=0}; __property bool Down = {read=FDown, write=SetDown, default=0}; __property Caption ; __property Enabled ; __property Font ; __property Graphics::TBitmap* Glyph = {read=GetGlyph, write=SetGlyph}; __property TButtonLayout Layout = {read=FLayout, write=SetLayout, default=0}; __property int Margin = {read=FMargin, write=SetMargin, default=-1}; __property TNumGlyphs NumGlyphs = {read=GetNumGlyphs, write=SetNumGlyphs, default=4}; __property ParentFont ; __property ParentShowHint ; __property ShowHint ; __property int Spacing = {read=FSpacing, write=SetSpacing, default=4}; __property Visible ; __property OnClick ; __property OnDblClick ; __property OnMouseDown ; __property OnMouseMove ; __property OnMouseUp ; }; //-- var, const, procedure --------------------------------------------------- extern PACKAGE void __fastcall Register(void); extern PACKAGE Windows::TRect __fastcall DrawButtonFace(Graphics::TCanvas* Canvas, const Windows::TRect &Client, int BevelWidth, TButtonStyle Style, bool IsRounded, bool IsDown, bool IsFocused); } /* namespace Coolbutton */ #if !defined(NO_IMPLICIT_NAMESPACE_USE) using namespace Coolbutton; #endif //-- end unit ---------------------------------------------------------------- #endif // CoolButton