自己必须定义一个OnClick属性。或者拦截消息也可以。
type
  TMyButton = class(tbutton)
  published
    procedure Click;override;
  private
    procedure MyProcedure;
  end;procedure TMyButton.Click;
begin
  inherited;
  MyProcedure;
end;procedure TMyButton.MyProcedure;
begin
  Caption:='kfsdj';
end;