如何触发动态创建的按钮的事件?
解决方案 »
- 我安装了delphi 209。但是我执行RUN的时候出现没有发现(No Debug Info)的信息。为什么会出现这个问题??
- 最后一个控件了。。tswitchimagecontainer
- 关于Tlistview控件的显示
- BitBtn1Click
- 请问如何改变连接数据库的延迟时间
- 报表汉字显示不全?
- 关于delphi的listview的些许问题
- 谁用过D6中 INdy Clients,Indy Servers,Indy Misc这些栏中的东西?或是大概知道是干什么用的!来说说!
- CSDN的问题?贴子不能提前了
- 简单的C/S问题!请各位看看!
- 如何做一个下载软件,需要用到什么控件?100分相送.绝不食言.在线等待
- 数据库检索,怎样避免出现NULL?
例如 :
produce MyClick (Sender : TObject);
produce Button1.Click(Sender : TObject);
produce MyClick(Sender : TObject);
begin
ShowMessage(TComponent(Sender).Name);
end;produce Button1.Click(Sender : TObject);
var
But : TButton;
begin
But := TButton.Create(self);
But.Captiong := '确定';
But.OnClick := MyClick; //这句就是
end;随手写的没调试过不过应该没什么问题
procedure TMainForm.Button1Click(Sender: TObject);
begin
ShowMessage('Button1.OnClick event occurs!');
end;procedure TMainForm.Button2Click(Sender: TObject);
begin
Button1Click(Button1);
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
procedure btnclick(sender:tobject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
j:integer;
btn:array of tbutton;
begin
setlength(btn,100);
j:=0;
for i:=0 to 16 do
begin
if (i=(5*j)+5) and (i<>0) then j:=j+1;
btn[i]:=tbutton.Create(self);
btn[i].Caption :='button' +inttostr(i);
btn[i].Width:=50;
btn[i].Height:=50;
btn[i].Top:=j*(btn[i].Height+10) ;
btn[i].Left:= (i-5*j)*btn[i].Width+10;
btn[i].Parent:=self.Panel1 ;
btn[i].OnClick:=btnclick;
end;
end;
procedure tform1.btnclick(sender:tobject);
var
a:string;
begin
a:= tbutton(sender).Caption ;
application.MessageBox(pchar(a),'提示!');
end;end.