动态生成的控件怎样给它添加事件?

dulei115 2003-08-21 04:38:58
刚刚学会怎样动态生成控件,但是不知道怎样往这些动态生成控件里添加事件,有哪位给我举个例,如下:
procedure TForm1.FormCreate(Sender: TObject);
var
a:tbutton;
begin
a:=tbutton.Create(self);
with a do
begin
Top:=100;
Left:=100;
Height:=20;
Width:=100;
Parent:=form1;
OnClick:=//.....该怎样写了?或者应该用别的方法
end;
end;
...全文
36 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mysqlcom 2003-08-21
  • 打赏
  • 举报
回复
interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure myClick(Sender:TObject);
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
a:TButton;
begin
a:=TButton.Create(nil);
a.top:=button1.Top;
a.left:=button1.Left+100;
a.width:=200;
a.Caption:='this is my fisrst';
a.Visible:=true;
a.Parent :=form1;
a.onClick :=myClick;
end;
procedure TForm1.myClick(sender:TObject) ;
begin
showMessage('hellow');
end;
end.
mysqlcom 2003-08-21
  • 打赏
  • 举报
回复
up
yjw1018 2003-08-21
  • 打赏
  • 举报
回复
同意楼上两位,注意不能在OnClick:=YourClick;中的YourClick后加入其参数。
mingjunlee 2003-08-21
  • 打赏
  • 举报
回复
在你的Form中写一个自己的函数,
在你动态生成的控件的OnClick事件指向他就可以调用了
Little2000 2003-08-21
  • 打赏
  • 举报
回复
procedure TForm1.YourClick(Sender: TObject);
begin
ShowMessage('OK');
end;

procedure TForm1.FormCreate(Sender: TObject);
var
a:tbutton;
begin
a:=tbutton.Create(self);
with a do
begin
Top:=100;
Left:=100;
Height:=20;
Width:=100;
Parent:=form1;
OnClick:=YourClick;
end;
end;
lxpbuaa 2003-08-21
  • 打赏
  • 举报
回复
procedure TForm1.ButtonClick(Sender: TObject);
begin
ShowMessage('AA');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := ButtonClick;
end;

————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————

5,379

社区成员

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

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