|
// Header
class PACKAGE NineShape : public TGraphicControl
{
private:
TNotifyEvent FOnMouseEnter;
TNotifyEvent FOnMouseLeave;
void __fastcall CMMouseEnter(TMessage& Message);
void __fastcall CMMouseLeave(TMessage& Message);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER( CM_MOUSEENTER, TMessage, CMMouseEnter )
MESSAGE_HANDLER( CM_MOUSELEAVE, TMessage, CMMouseLeave )
END_MESSAGE_MAP(TGraphicControl)
public:
virtual __fastcall NineShape(TComponent* Owner); //override;
__fastcall ~NineShape(); //override;
__published:
__property TNotifyEvent OnMouseEnter = { read = FOnMouseEnter, write = FOnMouseEnter };
__property TNotifyEvent OnMouseLeave = { read = FOnMouseLeave, write = FOnMouseLeave };
};
// Class Body
//---------------------------------------------------------------------------
void __fastcall NShape::CMMouseEnter(Messages::TMessage &Message)
{
if( FOnMouseEnter ) FOnMouseEnter( this );
}
//---------------------------------------------------------------------------
void __fastcall NShape::CMMouseLeave(Messages::TMessage &Message)
{
if( FOnMouseLeave ) FOnMouseLeave( this );
}
//---------------------------------------------------------------------------
위와같이 만든 컴포넌트가 평상시는 잘 동작 하는데
런타임에 생성해서 쓸려니
MouseEnter 와 MouseLeave 에서 에라가 뜹니다...
고수님들 도와주세요.....
화일에서 옵션 읽어서
Max 100개정도의 컴포넌트를 런타임시 생성해야 할것같은데......
각각 Mouse In-Out을 감지해야 하구요....
|