100分等你拿。来吧。它是你的了!!!!(100分)

  • 主题发起人 主题发起人 zyf23
  • 开始时间 开始时间
Z

zyf23

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中运行时动态创建了一个按钮bitbutton,这时候,如果我想单击该按钮去
执行某一事件或函数或过程,也就是说,如何把创建的按钮的click事件和某一个函数
、过程、事件关联起来。该如何实现!请高手指教!!!!
另:如何在程序中创建一个是事件,最好能带参数。
代码:
 
在onclick里面调用阿1
 
看看下面简单的例子吧。
代码:
var
  ButtonTst:TButton;
procedure click(Sender: TObject)
begin
...
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ButtonTst := TButton.Creat(self);
  ButtonTst.Onclick := Click;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Visible :=false;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
button1.OnClick(sender);
end;
单击button2时 调用button1的事件隐藏它 如何?
 
...
procedure buttonclick(Sender:TObject);
begin
...
end;
...
bitbutton1:=TBitbutton.Create(self);
bitbutton1.onclick:=buttonclick;
...
 
只要写:
bitbutton.onclick(self) ;
然后在写bitbutton.onclick(self)
的实现就搞定了
 
在onclick里面调用
 
如果都是onclick,你就这样:
比方有button1,button2
button1的onclick已写好,然后你再button2的对象面板的onclick下拉框中
选button1.onclick即可或用代码控制,你是不是问这个?
 
mikegong的方法
 
函数和过程可以直接调用
事件可以指定!
 
在Object Inspector面板上选择Button1
再双击Events里面的OnClick就可以了!
 
同意mikegong的看法
 
var
Form1: TForm1;
implementation
{$R *.DFM}

procedure TForm1.BitBtn1Click(Sender: TObject);
var Form2:Tform;button2:tbutton; ;
begin
Application.CreateForm(TForm,Form2);
form2.Caption:='你好!';
form2.Position:=poScreenCenter;
button2:=tbutton.Create(self);
button2.Parent:=form2;
button2.Left:=50;
button2.Top:=100;
button2.Height:=40;
button2.Width:=120;
button2.Caption:='这是按钮!' ;

//将自己写的过程赋给click事件
button2.onClick:=button2Click;
form2.show;

end;

//这个过程自己定义
procedure Tform1.button2Click(Sender: TObject);
begin
Application.MessageBox('成功了!'+#13+#13+'这是自定义','自生成的窗口!',MB_OK+MB_ICONinformation)
end;

可以了~
 
这家伙,人家回答了问题也不给分
 
接受答案了.
 
后退
顶部