//--------------------------------------------------------------------------- #ifndef ActImgH #define ActImgH //--------------------------------------------------------------------------- #include #include #include #include #include //--------------------------------------------------------------------------- class PACKAGE TActiveImage : public TCustomControl { private: // bool mcaptured; enum CStates { CSt_NORMAL, CSt_PRESS, CSt_OVER } CState; void __fastcall MouseMove( Classes::TShiftState Shift, int X, int Y); void __fastcall MouseDown( TMouseButton Button, Classes::TShiftState Shift, int X, int Y); void __fastcall MouseUp( TMouseButton Button, Classes::TShiftState Shift, int X, int Y); protected: bool MouseCaptured; void __fastcall Paint(); void __fastcall CreateParams(TCreateParams &Params); void __fastcall SetGlyphOver( Graphics::TBitmap *val ); void __fastcall SetGlyphPress( Graphics::TBitmap *val ); void __fastcall SetGlyphNormal( Graphics::TBitmap *val ); bool vAutoSize; void __fastcall SetAutoSize( bool val ); MESSAGE void __fastcall CMMouseEnter ( TMessage& Msg ); MESSAGE void __fastcall CMMouseLeave ( TMessage& Msg ); public: Graphics::TBitmap *GlyphOver,*GlyphNormal, *GlyphPress; Graphics::TCanvas *RCanvas; __fastcall TActiveImage(TComponent* Owner); __fastcall ~TActiveImage(); __published: __property Graphics::TBitmap *Glyph_Normal={read=GlyphNormal, write=SetGlyphNormal}; __property Graphics::TBitmap *Glyph_Over={read=GlyphOver, write=SetGlyphOver}; __property Graphics::TBitmap *Glyph_Press={read=GlyphPress, write=SetGlyphPress}; __property bool AutoSize={read=vAutoSize, write=SetAutoSize, default=false }; /* __property TMouseEvent OnMouseDown = {read=FOnMouseDown, write=FOnMouseDown}; __property TMouseMoveEvent OnMouseMove = {read=FOnMouseMove, write=FOnMouseMove}; __property TMouseEvent OnMouseUp = {read=FOnMouseUp, write=FOnMouseUp}; __property Classes::TNotifyEvent OnClick = {read=FOnClick, write=FOnClick}; __property Classes::TNotifyEvent OnDblClick = {read=FOnDblClick, write=FOnDblClick}; */ __property OnMouseDown; __property OnMouseMove; __property OnMouseUp; __property OnClick; __property OnDblClick; BEGIN_MESSAGE_MAP VCL_MESSAGE_HANDLER ( CM_MOUSEENTER, TMessage, CMMouseEnter ) VCL_MESSAGE_HANDLER ( CM_MOUSELEAVE, TMessage, CMMouseLeave ) END_MESSAGE_MAP(inherited); }; //--------------------------------------------------------------------------- #endif