73 lines
2.6 KiB
C++
73 lines
2.6 KiB
C++
//---------------------------------------------------------------------------
|
|
#ifndef ActImgH
|
|
#define ActImgH
|
|
//---------------------------------------------------------------------------
|
|
#include <vcl\SysUtils.hpp>
|
|
#include <vcl\Controls.hpp>
|
|
#include <vcl\Classes.hpp>
|
|
#include <vcl\Forms.hpp>
|
|
#include <vcl\ExtCtrls.hpp>
|
|
|
|
//---------------------------------------------------------------------------
|
|
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
|