FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
OnClick dinamicamente
Hola a tod@.
Verán hace tiempo hice un programa donde utilizaba la propiedad OnClick de los TImages de las imágenes que cargaba para, mostrar un mensaje, ir a una dirección de Internet... esto lo hacia de forma estática y en tiempo de ejecución mostraba la imagen mediante el Bitmap.LoadFromFile(). Con ganas de mejorar quiero hacer esto mismo pero dinamicamente:
Al ejecutar lo que consigo es siempre el mismo mensaje ''prueba Imagen' pero mi intención es que cada imagen que creo le pase (no se como) un showmessage('Timage:'+xx ) diferente a la propiedad OnClick. ¿Pueden echarme una mano con esto por favor?. |
#2
|
||||
|
||||
Cita:
Para ello puedes usar el parámetro Sender, que será diferente para cada imagen sobre la que pulses. En realidad ese Sender será exactamente el componente TImage sobre el que has pulsado. Lo único que debes hacer es realizar un CAST del objeto Sender para poder utilizarlo. Cambia tu código y prueba esto:
Igual que he accedido à la propiedad Name, puede acceder al resto del componente.
__________________
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. Última edición por Neftali [Germán.Estévez] fecha: 25-06-2018 a las 10:55:46. |
#3
|
|||
|
|||
Muchas gracias Neftali por tu ayuda, la modificación que me sugeriste me daba error:
dejo el código por si a otro compañero le ocurre lo mismo.
Nos obstante una consulta, si cada imagen fuera ligada a una url, una reproducción de sonido, otra imagen etc... es decir a algo mas trascendente ¿seria posible asignar ese "evento" a su correspondiente imagen cuando se crea el objeto TImage?, me explico... En una BBDD tenemos X fotos esas fotos están ordenadas y se corresponden con el sonido Y cuya dirección esta almacenada también en la BBDD de manera que: Foto1 -> c:\.....\animales\leonsabana.wav Foto2 -> c:\.....\motorV6.wav ... Corrígeme por favor si me equivoco, para conseguir esto, como TImagen no tiene una propiedad para almacenar texto, ¿debería sobrecargar la clase?. De nuevo muchas gracias por echarme una mano. |
#4
|
||||
|
||||
Perdón. He cometido un error en el código al escribirlo.
En lugar de esto:
Quería poner esto (es importante el operador IS en lugar del =):
Con eso comprobamos que el Sender sea de la clase correcta. No debería, pero eso evita que falle la línea siguiente al realizar el CAST:
__________________
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
|
||||
|
||||
Cita:
No la tienen, como bien dices. Si con un Integer te vale, los TImage y el resto de componentes poseen una propiedad genérica para estas cosas llamada Tag. Que los programadores solemos usar para estas cosas. La otra opción, como bien dices, es ampliar la clase para añadir esa propiedad.
__________________
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. |
#6
|
|||
|
|||
De nuevo gracias por la sugerencia y aclaración, no pensé en la propiedad Tag la cual se podría utilizar como una especie de puntero hacia a una lista.
Muchas gracias por tu ayuda. |
#7
|
|||
|
|||
Estimado barakuda, si me permite le propongo otra opción...
Este método lo he usado cuando requiero mostrar imagenes en algunas aplicaciones... Consiste en utilizar un TListview y TImageList...
La imagen adjunta muestra el resultado... Espero le ayude... Saludos cordiales |
#8
|
|||
|
|||
Estimado barakuda, no me percate que era en foro de Firemonky, talvez el código que le indique no funcione correctamente...
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Row vs onclick en StringGrid | lacovera | Varios | 3 | 08-12-2009 17:27:45 |
TButton onClick | bastian | OOP | 1 | 04-03-2009 17:18:32 |
OnClick en Imagen | jevo19100 | Internet | 1 | 19-10-2006 20:46:12 |
Evento OnClick | vtdeleon | OOP | 4 | 08-08-2005 23:40:18 |
Evento onClick | jzk | OOP | 4 | 27-10-2004 18:46:02 |
|