动态添加同一控件!!
怎么动态添加同一控件多次??
请指教!!
问题点数:10、回复次数:5Top
1 楼hz_gyf(小毛)回复于 2001-03-13 15:22:00 得分 0
一般来说,控件都有CREATE方法可用,你只要用它的继承动态产生控件即可,但要注意名字不能相同。Top
2 楼wangxd1976(东东)回复于 2001-03-13 16:34:00 得分 5
写一个过程,Like this:
procedure Form1.createCtrlor(CtrorNmae:string);
var edt:Tedit;
begin
edt:=Tedit.create(self);
edt.name:=CtrorNmae;
edt.parent:=form1;
edt.left:=1;
edt.top:=1;
edt.height:=25;
edt.width:=100;
end;
然后在要生成控件的时候调用Top
3 楼BlueTrees(蜗牛)回复于 2001-03-13 23:21:00 得分 0
给你个例子,Edit1:=TEdit.Create(Form1);
不过你最好用一个TObjectList对象来管理这些自建的对象,记住最后要释放,例如:Edit1.FreeTop
4 楼Ask100()回复于 2001-03-14 03:48:00 得分 5
wangxd1976(西门吹雪)说的部分对,梢改一下:
procedure Form1.createCtrlor(CtrorNmae:string);
var edt:Tedit;
begin
edt:=Tedit.create(self);
edt.name:=CtrorNmae+IntToStr(i);
edt.parent:=form1;
edt.left:=1+k;
edt.top:=1+k;
edt.height:=25;
edt.width:=100;
end;
在循环调用时改变 i 和 k 的值,这样创建的控件就不会重叠了。Top
5 楼manboo(我从山中来)回复于 2001-03-14 04:34:00 得分 0
同意Ask100的说法,bluetrees也是对的Top




