FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como añadir un nuevo evento a un componente
Hola, necesito añadir un nuevo evento a un DBGrid y no tengo ni idea de como hacerlo. Creo que hay que crear un nuevo componente que herede del DBGrid y a partir de ahí añadir los eventos que se quiera.
Si alguien me puede ayudar le estaré muy agradecido y si pudiera ser con algún ejemplo mucho mejor pues he estado leyendo en varios sitios sobre el tema pero no me aclaro. Muchas gracias. |
#2
|
||||
|
||||
Cita:
Cita:
(1) File/New/Other... (2) Selecciona Component y pulsa OK. (3) Ancestor Type=TDBGrid (DBGrids) (4) ClassName=TMyDBGrid (por ejemplo) (5) En Palette Page escribe "MY COMPS" (por ejemplo) (6) Unit, la que quieras, es el PAS donde se va a guardar. (7) Pulsa el botón INSTALL... (8) Como package selecciona el de usuario; Normalmente lo puedes encontrar en: "c:\Archivos de programa\Borland\Delphi6\Lib\dclusr.dpk" (9) Luego te pedirá que recompiles el package; Hazlo y lo Instalas. Ahora ya debería aparecer la nueva pestaña con tu componente. Abre en el IDE el .PAS que has generado y añádele el evento. Recuerda que para que los cambios que realices al componente funcionen debes ir recompilando el package en el que lo has instalado (el de arriba). Para añadir el evento, en la parte published añade una nueva propiedad, por ejemplo:
Cuando quieras hacer "saltar" el evento para que se active lo que tengas programado debes añadir lo siguiente:
Pruébalo, si tienes problemas ya dirás...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
Muchas gracias por tu ayuda. He seguido (creo) tus indicaciones y, aunque he creado el nuevo evento como published no me aparece en la paleta de eventos. ¿He hecho algo mal?
El código que indicas que tengo que añadir, ¿donde lo tengo que añadir exactamente? |
#4
|
||||
|
||||
Si has seguido mis indicaciones habrás creado una nueva Unit (un nuevo fichero .PAS) que tiene tu nuevo componente. En ese fichero estará la definición de tu componente. Será una Unit con una pinta similar a ésta:
Localiza esa Unit y en la parte published añades el código anterior. Es IMPRESCINDIBLE que luego vuelvas a recompilar el package donde has instalado (el de usuario) éste componente y lo instales de nuevo, sino no verás los cambios realizados, como te está pasando. Una vez modificado, compilado e instalado, crea un nuevo proyecto y añade tu DBGrid.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Muchísimas gracias!!! Efectivamente, me faltaba instalarlo una vez compilado. Ahora ya me aparece con el evento creado por mi.
Pero tengo una duda. ¿Cómo sabe Delphi o cómo le indico yo cuando se debe lanzar el evento (por ejemplo, el evento OnClick se lanza después de pulsar con el ratón sobre el componente)? |
#6
|
||||
|
||||
Cita:
¿Exactamente qué evento deseas lanzar? ¿O cuando deseas lanzarlo?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
|||
|
|||
Perdona por las molestias pero después de escribir la duda he releido tu mensaje y lo he entendido.
Muchas gracias por tu ayuda porque me ha sido utilísima. Que pases unas felices fiestas. Feliz Navidad. |
|
|
|