繼承TButton元件並覆寫WndProc虛擬函式....卻異常???
連點擊Button外面的區域都會被KButton處理??? //--------------------------------------------------------------------------- #ifndef KButtonH
#define KButtonH
//---------------------------------------------------------------------------
#include
#include
#include
#include
//---------------------------------------------------------------------------
class PACKAGE KButton : public TButton
{
private:
protected:
// virtual void __fastcall WndProc(Messages::TMessage &Message);
public:
__fastcall KButton(TComponent* Owner);
__published:
};
//---------------------------------------------------------------------------
#endif //--------------------------------------------------------------------------- #include #pragma hdrstop #include "KButton.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------
// ValidCtrCheck is used to assure that the components created do not have
// any pure virtual functions.
// static inline void ValidCtrCheck(KButton *)
{
new KButton(NULL);
}
//---------------------------------------------------------------------------
__fastcall KButton::KButton(TComponent* Owner)
: TButton(Owner)
{
}
//---------------------------------------------------------------------------
namespace Kbutton
{
void __fastcall PACKAGE Register()
{
TComponentClass classes[1] = {__classid(KButton)};
RegisterComponents("Samples", classes, 0);
}
}
//---------------------------------------------------------------------------
void __fastcall KButton::WndProc(Messages::TMessage &Message)
{
switch(Message.Msg){
case WM_LBUTTONDOWN:
ShowMessage(Message.WParamHi);
ShowMessage("Done by KButton");
break;
}
TButton::WndProc(Message);
}