604
社区成员
发帖
与我相关
我的任务
分享
//==================
.hpp
//==================
typedef void __fastcall (__closure *TNotifyEvent)( TObject* Sender );
class TMyControl : public TWinControl
{
__published:
__property TNotifyEvent OnMyAct = {read=FOnmyAct, write=FOnmyAct};
protected:
virtual void __fastcall DoMyAct( TObject* Sender );
private:
TNotifyEvent FOnmyAct;
private:
void __fastcall WndProc( TMessage &Msg );
};
//------------------------------------------------------------
//==================
.Cpp
//==================
void __fastcall TMyControl::WndProc( TMessage &Msg )
{
TWinControl::WndProc( Msg );
if( Msg.Msg == WM_MyAct )
{
try
{
DoMyAct();
}
catch( ... )
{
Application->HandleException( this );
}
}
}
//---------------------------------------------------------------------------
void __fastcall TMyControl::DoMyAct( TObject* Sender )
{
if( FOnmyAct )
{
FOnmyAct( this );
}
}
//---------------------------------------------------------------------------