动态添加事件 ( 积分: 20 )

  • 主题发起人 主题发起人 QQ我心飞翔
  • 开始时间 开始时间
Q

QQ我心飞翔

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.FormCreate(Sender: TObject);
var tbut:tbutton;
begin
tbut:=tbutton.create(self);
tbut.parent:=self;
end;
此时我在form上创建了一个button,我想为此button添加单击事件,该怎么做?button是程序运行时动态生成的,
 
procedure TForm1.FormCreate(Sender: TObject);
var tbut:tbutton;
begin
tbut:=tbutton.create(self);
tbut.parent:=self;
end;
此时我在form上创建了一个button,我想为此button添加单击事件,该怎么做?button是程序运行时动态生成的,
 
最简单的你可以这么写。。。类似
Button1.OnClick := FormCreate;
当然也可以是其他申明为
Procedure FunctionName( Sender : TObject );的事件。。。。
高一点可以是用Event控制。。再高一点可以使用策略模式..
 
先在Type后添加一个自定义的事件MyClick():
procedure TMainForm.MyClick(Sender: TObject);
//按钮的OnClick事件响应
  begin

   Show.Message(TMenuItem(Sender).Caption);//点击按钮要做的工作,
  end;

最后指定按钮的ONCLICK事件等于它:
tbut.OnClick:=MyClick
 
接受答案了.
 
后退
顶部