我在一个双击事件下动态创建一个Form,在这个动态创建的Form上,又动态创建了一个Button,现在想写这个Button的双击事件。不知道怎么写?请高手指教,感激不尽!
代码如下:
procedure TForm1.Edit4DblClick(Sender: TObject);
var
sms_send: Tform2;
send: Tbutton;
procedure sendonClick(Sender: TObject);
begin
showmessage('go');
end;
begin
sms_send:=tform2.Create(self);
sms_send.Left:=360;
sms_send.Top:=240;
sms_send.Width:=300;
sms_send.Height:=200;
sms_send.Visible:=true;
sms_send.Caption:='短信平台';
sms_send.Show;
send:= Tbutton.Create(self);
send.Parent:=sms_send;
send.Left:=160;
send.Top:=10;
send.Width:=90;
send.Height:=20;
send.Visible:=true;
send.Caption:='发送短信';
send.OnClick:= sms_send.sendonClick;
代码如下:
procedure TForm1.Edit4DblClick(Sender: TObject);
var
sms_send: Tform2;
send: Tbutton;
procedure sendonClick(Sender: TObject);
begin
showmessage('go');
end;
begin
sms_send:=tform2.Create(self);
sms_send.Left:=360;
sms_send.Top:=240;
sms_send.Width:=300;
sms_send.Height:=200;
sms_send.Visible:=true;
sms_send.Caption:='短信平台';
sms_send.Show;
send:= Tbutton.Create(self);
send.Parent:=sms_send;
send.Left:=160;
send.Top:=10;
send.Width:=90;
send.Height:=20;
send.Visible:=true;
send.Caption:='发送短信';
send.OnClick:= sms_send.sendonClick;
http://community.csdn.net/Expert/topic/4770/4770601.xml?temp=.5245783
send.OnClick:= sms_send.sendonClick;就是这个意思了.一般来说,动态创建的Button,只要给它的OnClick设置为一个已经存在的按钮的事件,点击这个Button就会执行指定的事件代码.因此,可以想到这个解决方法:1.在你的TForm2这个窗口上,放置一个Button,设置属性Name为sendon;
2.双击"sendon"这个Button,编写它的代码,如下所示:procedure TForm2.sendonClick(Sender: TObject);
begin
showmessage('sendon is clicked!');
end;3.删除按这个sendon按钮,但是上面这个事件的代码不要删除,反正就是让Button不显示在Form2中即可;4.然后就用你面的代码即可;
...send:= Tbutton.Create(self);
send.Parent:=sms_send;
send.Left:=160;
send.Top:=10;
send.Width:=90;
send.Height:=20;
send.Visible:=true;
send.Caption:='发送短信';
send.OnClick:= sms_send.sendonClick;//就指样,为动态创建的Button,设置其事件为上面编写的事件代码