我自己动态创建了一些组建,请问怎么销毁和建立一个双击事件,看我代码。//创建动态组件
procedure GetXYRPos(Ppos:string;x,y:Integer;r:Boolean);
var
 aPanel :  TPanel;
begin
 aPanel := TPanel.Create(nil);
 aPanel.Name := 'a'+Ppos;
 if r then begin
  aPanel.Width := 20;
  aPanel.Height := 10;
  aPanel.Left := x-10;
  aPanel.Top := y-4;
 end else begin
  aPanel.Width := 10;
  aPanel.Height := 20;
  aPanel.Left := x-4;
  aPanel.Top := y-10;
 end;
 aPanel.Caption := '  ';
 aPanel.Color := clLime;
 aPanel.Hint := Ppos;
 aPanel.ShowHint := True;
 aPanel.AutoSize := False;
 aPanel.Ctl3D := True;
 //aPanel.OnMouseMove := moveposcursor;
 aPanel.Parent := Main.Image1.Parent; aPanel.Show;
end;请大家尽量给我贴个代码谢谢

解决方案 »

  1.   

    首先创建一个双击函数,穿件控件的时候指定双击事件,控件销毁后,双击事件就没有了,函数不需要销毁。
    aPanel.ondblclick:=自定义函数
    另外,我记得panel没有双击事件吧
      

  2.   

    首先创建一个双击函数,穿件控件的时候指定双击事件,控件销毁后,双击事件就没有了,函数不需要销毁。
    aPanel.ondblclick:=自定义函数
    另外,我记得panel没有双击事件吧
      

  3.   

    创建:
    aPanel.OnDblClick := myFormDblClick;销毁
    aPanel.OnDblClick := nil;自定义双击事件及实现
      private
        procedure myFormDblClick(Sender: TObject);
    procedure TForm1.myFormDblClick(Sender: TObject);
    begin
       showmessage('双击消息');
    end;
      

  4.   

    1.在private下面先定义一个方法,如:
    procedure xxoo(Sender:TObject);2.在implementation下面,实现此方法,如:
    procedure TForm1.xxoo(Sender: TObject);
    begin
      showmessage('hello world!);
    end;3.组件关联此方法,如
    A.OnDblClick:=xxoo;
      

  5.   

    1、调用方法Com.OnDblClick:=函数名称;
    2、组件销毁了,什么都清空
     
      

  6.   

    你调用构造函数的时候,TPanel.Create(nil),属主为空,,需要手动清空构造的组件,直接调用free方法就可以了
    如果改成TPanel.create(self);就不需要自己去手动去销毁了,,这样会随着主窗体的关闭,自动销毁。
      

  7.   

    还没搞懂,怎么清除掉 我动态建立的组建让他小时TPanel.FREE不行