我在一个双击事件下动态创建一个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;

解决方案 »

  1.   

    给添加按钮添加双击事件就开以了,参考
    http://community.csdn.net/Expert/topic/4770/4770601.xml?temp=.5245783
      

  2.   

    >>动态创建了一个Button,现在想写这个Button的双击事件你上面的代码:
    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,设置其事件为上面编写的事件代码