动态创建组件 在程序中动态的创建一个组件,并显示.窗体中已经存在一个组件,现在需要创建一个同类型的组件,要求该创建的组件与已经存在的组件具有相同的属性,及事件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如editvaredit1 : TEdit;Edit1 := TEdit.Create(Application); create后使用assign 或assignto 这种方法能创建一个组件,但是不能创建一个与已经存在的组件一样的组件.假如要创建一个Edit,varedit1 : TEdit;Edit1 := TEdit.Create(Application);不能和一个已经存在的Edit有相同的属性和事件呀 Create后在Assign啊,这样就具有了相同的属性了。但是,这个问题的关键是原来窗体中控件的类型是不确定的。在动态创建控件以前要先知道类型才行啊! 我看了你的帖之后,我在实践中寻找答案,以下结果是可行的:var edit1:TEdit;begin edit1:=TEdit.Create(self); edit1.Parent:=self; edit1.Top:=0; edit1.Width:=121; edit1.Text:='Edit1';end; 可采用Prototype模式,给个链接学习学习吧。http://www.delphibbs.com/keylife/iblog_show.asp?xid=2547关键词:深克隆 procedure TForm1.Button1Click(Sender: TObject);beginshowmessage('dd');end;procedure TForm1.FormCreate(Sender: TObject);var btn : TButton;begin btn := TButton.Create(self); btn.Name := 'button2'; btn.Parent := self; btn.Left := 0; btn.Top := 10; btn.OnClick := button1.OnClick;end;你不如做成控件。。 谢谢大家提供的方法,据说这是一个很前卫的技术,希望大家多多提供解体思想.=========================================================================不是告诉你了吗,采用Prototype模式,即原型模式。 请教Thread的释放问题 spcomm串口通信 关于工程的问题? 急啊急. 谁知道哪儿有基于d6的acm控件下?(在线等待,急!!!!) 大富翁论坛的帖子只能看到标题,点击标题弹出页面还是没有内容,为什么? 一个简单的问题,送分!!! 如何改变一下文件的文件名?? ==很少人问的问题,如何实现拓扑图== 500分求教(或以身相许)----关于图片的保存问题 怎么给一个EXCEL添加一张图表 请大家教我怎么写线程!回答的好份都给你!
var
edit1 : TEdit;Edit1 := TEdit.Create(Application);
假如要创建一个Edit,
var
edit1 : TEdit;Edit1 := TEdit.Create(Application);
不能和一个已经存在的Edit有相同的属性和事件呀
但是,这个问题的关键是原来窗体中控件的类型是不确定的。
在动态创建控件以前要先知道类型才行啊!
var
edit1:TEdit;
begin
edit1:=TEdit.Create(self);
edit1.Parent:=self;
edit1.Top:=0;
edit1.Width:=121;
edit1.Text:='Edit1';
end;
http://www.delphibbs.com/keylife/iblog_show.asp?xid=2547
关键词:深克隆
begin
showmessage('dd');
end;procedure TForm1.FormCreate(Sender: TObject);
var
btn : TButton;
begin
btn := TButton.Create(self);
btn.Name := 'button2';
btn.Parent := self;
btn.Left := 0;
btn.Top := 10;
btn.OnClick := button1.OnClick;
end;你不如做成控件。。
=========================================================================
不是告诉你了吗,采用Prototype模式,即原型模式。