PDA

Ver la Versión Completa : Los eventos y un componente heredado de TGraphicControl


zuriel_zrf
01-10-2004, 00:26:06
Alguien me puede ayudar a solucionar este problema.

Hice un componente que hereda de TGraphicControl llamado TClase. Cuando lo registro y lo utilizo en un formulario no me aparecen los eventos que debería de heredar de TGraphicControl y de TControl (padre de TGraphicControl) como el evento OnClick.

Pero un componente normal como por ejemplo TButton si hereda los eventos de TControl. Que puedo hacer?

roman
01-10-2004, 00:55:32
Para que una propiedad o evento de una componente aparezca en el inspector de objetos debe estar publicada, esto es, debe aparecer en la sección published de la declaración de la clase. Componentes como TControl dejan muchas propiedades y eventos sin publicar (generalmente los dejan en la sección protected) para que las componentes descendientes decidan cuáles publicar y cuales no. Para que una componente publique una propiedad ya existente en un ancestro lo único que tiene que hacer es repetir la declaración especificando únicamente el nombre de la propiedad, por ejemplo:


TClase = class(TGraphicControl)
published
property OnClick;
end;


Con ello habrás publicado el evento OnClick (protegido en TControl) en tu componente.

// Saludos