如何在C++Builder的运行期间添加一个TImage?

中国 2000-03-03 12:00:00
加精
如何在C++Builder的运行期间添加一个TImage?该TImage要继承原Image1的所有属性及方法。多谢指教!
...全文
606 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mywater 2000-10-16
  • 打赏
  • 举报
回复
方法如下,关键点:
指定Owner,这样,即使你不释放,也不会出内存泄漏
指定Parent,Left,Top,Width,Height,这样,才能在某个地方显示出来

TImage * imgImageNew;
imgImageNew=new Timage(XXXPanel或XXXForm);//注意,Owner的生存期一定要长过这个Image
if(imgImageNew)
{
imgImageNew->Parent=XXXPanel或XXXForm总之,是能放Image的地方
imgImageNew->Left....
imgImageNew->..... loadPicture ....
imgImageNew->Visible=true;
}

//用完了,可以从owner中Remove,Delete
starstarboy 2000-10-13
  • 打赏
  • 举报
回复
to borland_c:
还需用Assign继承原Image1的所有属性
TImage *image2;
image2=new TImage(this);//如果this不行,可以用image1->Owner
image2->Assign(image1);
image2->Visible=true;//显示
delete image2;//适当时候
borland_c 2000-09-06
  • 打赏
  • 举报
回复
//运行时创建一个新TImage
TImage *dr;
dr=new TImage(parent);
delete dr;//记得删除,放在TForm1::~Form1();里面。
929 2000-03-03
  • 打赏
  • 举报
回复
继承原IMAGE1的所有属性就象radish说的就可以了。
在程序中动态生成一个TIMAGE可以这样几步:
1。NEW建立一个对象实例
2。ASSIGN对原对象进行复制
3。应用这个新实例,要想显示,还需设置PARENT属性及位置值,然后SHOW
4。用完后,可以删除,DELETE之。
radish 2000-03-03
  • 打赏
  • 举报
回复
用Assign方法试试

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧