动态添加控件的问题;很急的! 高手帮我!(100分)

  • 主题发起人 主题发起人 魏启明
  • 开始时间 开始时间

魏启明

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样在程序中通过语句 添加 和 删除 一个控件(可视控件如 Label 或 Button);
要求可以控制控件的属性;如Height;left;caption;color;等等;
一切都通过语句实现;并要求可以去掉这些控件;

我需要通过读取数据库确定显示什么(不可预见)
高手帮我!
 
var tem:tbutton;
begin
tem:=tbutton.Create(self);
tem.caption:='aa';
tem.height:=222;
tem.top:=1;
tem.left:=2;
tem.width:=33;
tem.parent:=form1;
end;
//del
tem.free;
应该可以了,不只对你有没有帮助?一般使用控件数组较好。。。。
 
控件也是对象啊,对象怎么建,它就怎么建.
 
14.在程序中动态生成控件数组[2001-04-09]
var
a : array of TButton;
i : integer;
begin
SetLength(a,100); //分配内存,这里的100可以用变量来代替
for i := 0 to Length(a) - 1 do
Begin
a := TButton.Create(Form1);
with a do
begin
Parent := Form1;
Left := 0;
Height := 20;
Width := 108;
Top := i * 20;
Caption := 'a'+IntToStr(i);
OnClick := buttonclick; //点击事件
Show;
End;

procedure TForm1.ButtonClick(Sender: TObject);
begin
ShowMessage((Sender as TButton).Caption);
end;

欢迎光临『风之纹章』http://ph11.126.com

 
太感动了;谢谢大家了;
我。。。。。。。。。
 
我来晚了,唉。。。
 
to zanpen2001
不晚;
讨论未结束
 
如何响应事件呢?
 
tform1 = class(tform)
procedure Button1Click(Sender: TObject);
private
procedure MouseClick(Sender:TObject);
end;

procedure TForm1.MouseClick(Sender: TObject);
begin
showmessage('clicked');
end;

procedure TForm1.Button1Click(Sender: TObject);
var
a:tbutton;
begin
a:=tbutton.create(self);
a.parent:=form1;
.... //略

a.OnClick:=MouseClick;
end;
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部