Hola,
Para que quede un tanto más claro, ahí va el código "completo" de la unidad de un formulario en que se usa un "TRichEdit" normal, corriente y moliente, pero, que, gracias a la "superposición de clases", contará también con una propiedad/evento "OnClick":
Código Delphi
[-]
unit Unit1;
interface
uses
Forms, Classes, Controls,
StdCtrls, ComCtrls, Dialogs;
type
TRichEdit = class(ComCtrls.TRichEdit)
published
property OnClick;
end;
type
TForm1 = class(TForm)
RichEdit1: TRichEdit;
procedure FormCreate(Sender: TObject);
private
procedure RichEditClick(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
RichEdit1.OnClick := RichEditClick;
end;
procedure TForm1.RichEditClick(Sender: TObject);
begin
ShowMessage('¡RichEditClick!');
end;
end.