Acá va el código, porque a veces un ejemplo sirve para entender como se hace
y no tener que pedir que otros te escriban el código, y
sin que sirva de precedente
Código Delphi
[-]unit HostPanel;
interface
uses
SysUtils, Classes, Controls, ExtCtrls,Graphics;
type
THostPanel = class(TPanel)
private
protected
public
procedure Click;override;
published
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [THostPanel]);
end;
procedure THostPanel.Click;
begin
inherited Click;
self.Color:=Random($7FFFFFFF);
Repaint;
end;
end.