2011-04-29 16 views
6

¿Cómo creo el evento OnClick? Necesito ayuda con TCustomControl.¿Cómo agrego un evento OnClick a TCustomControl?

+3

nunca se disculpe por una pregunta válida. Las preguntas son para qué es este sitio. –

+0

Vea también, [Cómo crear un evento] (http://stackoverflow.com/questions/5786595/delphi-event-handling-how-to-create-own-event). –

Respuesta

17

El evento OnClick ya está definido en TCustomControl. Todo lo que tienes que hacer es hacerlo visible. Agregue la línea

published 
    property OnClick; 

a su control y listo!

+1

también podría ser útil saber que puede desencadenar el evento en su Control cuando lo desee, al llamar, 'clic' o 'si está asignado (onClick) luego onclick (self) 'no estoy seguro de cuál de las partes superiores de mi cabeza 'mejor' –

+0

@RobRok: si ha copiado la declaración completa, en efecto, ha ocultado la anterior, que ya no funcionará. En tu descendiente, solo agrega 'propiedad OnClick;'. Esto solo cambiará la visibilidad (de pública o protegida a publicada), también conocida como "superficie de la propiedad", en lugar de redeclar la propiedad. –

+0

@Christopher: si hay un 'Click' o' DoClick' (que se adhiere más al patrón de denominación de métodos para el desencadenamiento de eventos), siempre utilícelo, especialmente cuando diseñe componentes para que otros los utilicen también. A menudo son virtuales, lo que significa que los descendientes pueden "engancharse" más fácilmente en el desencadenamiento del evento. De lo contrario, los descendientes quedan en el limbo y tienen que recurrir al encadenamiento de eventos para hacer algo cada vez que se dispara el evento. –

Cuestiones relacionadas