复制两个VCL元件有没有直接的办法?

BCB 2001-03-06 11:35:00
加精
................
label2.AutoSize:=label1.AutoSize;
label2.Parent:=label1.Parent;
label2.Left:=label1.Left;
label2.Top:=label1.Top;
label2.Font:=label1.Font;
label2.Transparent:=label1.Transparent;
label2.Height:=label1.Height;
.............
这有多烦呀!

...全文
169 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxgxfish0813 2001-11-06
  • 打赏
  • 举报
回复
在设计期间右击button1,选copy 然后贴一下不就行了吗??
jungg 2001-06-28
  • 打赏
  • 举报
回复
关注
  • 打赏
  • 举报
回复
关注
zh_sh 2001-03-06
  • 打赏
  • 举报
回复
对,就是用Assign方法
ether 2001-03-06
  • 打赏
  • 举报
回复
怎么不用assign方法呢??
BCB 2001-03-06
  • 打赏
  • 举报
回复
5555555555555555555555555555555555555555
BCB 2001-03-06
  • 打赏
  • 举报
回复
VCL怎么竞然没有复制对象功能?
如果是我自已设计的类,可以这样:
*Label2 = *Label1,
可是,在VCL中这样做,马上就告诉你
是非法的,

BCB 2001-03-06
  • 打赏
  • 举报
回复
老兄,你把Label2刚申请的对象变成了垃圾对象了,
赋值后Label2只是简单地指向了Label1的对象而已;
sundayboys 2001-03-06
  • 打赏
  • 举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TLabel *Label2=new TLabel(this);
Label2=Label1;
Label2->Caption="Label2";
}
bill_lasker 2001-03-06
  • 打赏
  • 举报
回复
不知有没有clone这个方法?
babysloth 2001-03-06
  • 打赏
  • 举报
回复
同感啊,看看吧。
BCB 2001-03-06
  • 打赏
  • 举报
回复
to ether:
有你这个高手指点,我茅塞顿开,就是说错怪了VCL,
我自已的对象也不能一次简单的赋值搞定;
知道不能,我也就死心了,就算结束了,给分了!
ether 2001-03-06
  • 打赏
  • 举报
回复
不是用一个assign就可以全部搞定的,例如:
label2.assign(label1)是不行的,但:
Label2.Font.Assign(Label1.Font);
可以。
理论上assign也不可能完成所有过程。例如,你写的类TMyTest,包含有一属性MemPtr,
是一个指针,指向你申请的一块内存,如果你自己写Assign方法,你怎么处理这个问题
呢?也是无法处理吧?把指针直接附值,一旦在新的类中进行写操作,会影响copy源的;
如果新申请一块内存,大小如何确定呢?...

BCB 2001-03-06
  • 打赏
  • 举报
回复
555555555555555555555555555555
BCB 2001-03-06
  • 打赏
  • 举报
回复
Assign()你们二位自己试了没有,
我试了,不成功,可能是没派生

5,391

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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