从Tpanel继承一个组件,其中用到的一个组件有onbuttonclick事件,我怎样在我的组件中发布这个事件
   即在我的组件中加入onbuttonclick 事件,且当子组件的onbuttonclick时间触发时我的组件也自动触发这个事件
      
      
      各位老大帮忙
      小弟这里先谢过了!

解决方案 »

  1.   


    unit Unit2;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Controls, ExtCtrls, StdCtrls;
    type TMyPanel = Class(TCustomPanel)
       private
         FButton: TButton;
         FOnButtonClick: TNotifyEvent;
       protected
         procedure _ButtonClick(Sender: TObject);
       public
         constructor Create(AOwner: TComponent); override;
         destructor  Destroy; override;
       published
         property OnButtonClick: TNotifyEvent read FOnButtonClick write FOnButtonClick;
       end;
    implementation{ TMyPanel }constructor TMyPanel.Create(AOwner: TComponent);
    begin
      inherited;
      FButton := TButton.Create(Self);
      FButton.Left := 5;
      FButton.Top := 10;
      FButton.Parent := Self;
      FButton.OnClick := _ButtonClick;
    end;destructor TMyPanel.Destroy;
    begin
      FButton := nil;
      inherited;
    end;procedure TMyPanel._ButtonClick(Sender: TObject);
    begin
      if Assigned(FOnButtonClick) then
        FOnButtonClick(Self);
    end;end.
    /**********************************************************/
    /*  这里之所以将_ButtonClick写入Protected中是为了本类的子类可以访问这个方法.*/
      

  2.   

    不好意思,有个笔误:
    destructor TMyPanel.Destroy;
    begin
      FButton。Free;
      inherited;
    end;
      

  3.   

    来晚了 
    yjs_lh(长风浪子)的例子全说了!
      

  4.   

    太棒了,非常感谢:yjs_lh(长风浪子) !现在给分