c++builder 问题,详细内容请入内!(50分)

  • 主题发起人 主题发起人 liop
  • 开始时间 开始时间
L

liop

Unregistered / Unconfirmed
GUEST, unregistred user!
我在头文件定义了TmyImage
//---------------------------------------------------------------------------
class TmyImage: public TImage
{
private:
void __fastcall CMMouseEnter(TMessage &Msg);
void __fastcall CMMouseLeave(TMessage &Msg);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(CM_MOUSEENTER,TMessage,CMMouseEnter)
MESSAGE_HANDLER(CM_MOUSELEAVE,TMessage,CMMouseLeave)
END_MESSAGE_MAP(TImage)
};
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TImage *Image2;
TImage *Image3;
TBitBtn *BitBtn1;
TBitBtn *BitBtn2;
void __fastcall BitBtn1Click(TObject *Sender);
void __fastcall BitBtn2Click(TObject *Sender);
private: // User declarations
TmyImage *Img;
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------

在.CPP中创建时老提示出错
.cpp程序 Img=new TmyImage(this);


请问如何写?
 
什么出错信息? Img=new TmyImage;怎样
 
错误信息:
E2125 compiler could not generate default constructor for class 'TmyImage'
 
如果注册组件就方便得了,我已经做了这样一个组件.
如果不注册组件也可以
TmyImage *myimage=new TmyImage(this);//Owner负责组件的资源释放
myimage->Parent=this;//Parent负责组件的显示
.........

你的出错信息是你写组件没有写构造函数

__fastcall TmyImage::TmyImage(TComponent* Owner)
: TImage(Owner)
{
}
 
接受答案了.
 
后退
顶部