FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
shape en tabla
Bueno, perdonadme si sigo preguntando cosas elementales.
Ya voy resolviendo cosillas del programa, mirando aqui y alla, pero todavia hay cosas que me fallan. He tenido que hacer un monton de cuadritos que representan habitaciones, cuando se pulsa una tiene que salir un procedimiento. El problema es que hice todos los cuadritos a mano con sus labels, pero como cada uno genera un eventoclick, son demasiados para hacerlos a mano, preguntaba si era posible meterlos en una tabla pero no se como puesto que todos estan creados manualmente. son del tipo form1.label1click......se podria meter el labelx en la tabla y en funcion del label que se pulse sacar algo asi como label[1]click? gracias |
#2
|
||||
|
||||
No hace falta que crees un procedimiento para cada label, sino que puedes usar para todos los labels el mismo procedimiento. Por ejemplo haz que todos los labels apunten a label1click.
Dentro de este procedimiento tienes el parámetro Sender que te indica cual de los labels se ha pulsado realmente.
En el punto (1) la variable lbl apunta al label sobre el que se ha pulsado el Click, label1, label2,.....
__________________
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
|
||||
|
||||
gracias. Tengo una duda respecto a eso, uno de los cuadros es este
el procedimiento que me mencionas donde debe de ir, ademas los labels estan renombrados asi lh101 y cambiara en funcion de la habitacion lh102... la verdad es que con vuestra ayuda estoy aprendiendo mucho, a ver si tambien puedo ayudar a otros. |
#4
|
||||
|
||||
Ese procedimiento es el OnClick que estás programando. En tu ejemplo, si todos los OnClick de los Labels te apuntan a este prodecimiento podrías usarlo de esta forma:
Ahora queda el tema del control h101 que habría que hacer algo similar. Supongo que es un control que está relacionado con la etiqueta que se llama igual (o casi igual). Para ese caso se puede utilizar un FindComponent. ¿De qué tipo es este control?
__________________
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: 11-04-2007 a las 19:32:59. |
#5
|
||||
|
||||
gracias me estas ayudando mucho.
este control donde lo pongo, lo he puesto en initialization pero me da error en el componente FindComponent la verdad es que tambien me puede servir para cambiar el shape que he puesto al poner h101 se puede poner en vez de h101.brush.color tshape.brush.color? gracias de nuevo asi da gusto aprender.
|
#6
|
||||
|
||||
El h101, h101 son Shapes...
Entonces quedaría así:
Te he puesto el código de memoria, pero debe funcionar, salvo que haya cometido algun error de sintaxis. Lo más importante es que lo entiendas. Ahora puedes hacer que todos los labels apunten a este OnClick; Si pulsas sobre lh101 funcionará con esa label y con el shape h101, si pulsas lh102 y el shape h102, y así sucesivamente... AÑADO: Una vez que funcione, faltarían las comprobaciones de posibles errores en el FindComponent, y el los CAST. Un saludo.
__________________
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: 12-04-2007 a las 12:42:43. |
#7
|
||||
|
||||
gracias de nuevo. Error no da, pero sigue funcinando solo para el lh101, no habria que poner algo en algun otro sitio para que capturara el evento de cualquier label? porque solo ejecuta la procedure solo si se pulsa la lh101 para otras no entra.
|
#8
|
||||
|
||||
Cita:
__________________
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. |
#9
|
||||
|
||||
si, gracias, ya seleccione todos los label y les apunte para esa procedure, muchas gracias, funciono.
Una ultima cosa rapida, si quiero que el nom resultante de la procedure lo pueda visualizar con el dato almacenado en el form que aparece al pulsar el label, como se puede hacer, porque lo intente declarar como public y no me deja. gracias de nuevo |
#10
|
||||
|
||||
En ese mismo procedimiento puedes acceder a todo el form:
__________________
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. |
#11
|
||||
|
||||
perdon, me referia a visualizarlo en otro form, poder usar las variables y su contenido en otros forms.
gracias por las molestias |
#12
|
||||
|
||||
Crea una propiedad en la parte pública de ese form. Desde el evento le asignas el valor y desde fuera (otros formularios) podrás consultar esa propiedad sin probblemas.
__________________
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. |
#13
|
||||
|
||||
Muchas gracias, me ha funcionado.
cada vez aprendo mas...con vuestra ayuda y se me hace menos frustrante. gracias de nuevo yo sigo preguntando... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Crear un Shape en Runtime | David78 | Gráficos | 4 | 28-04-2010 22:03:54 |
mover linea en delphi (move shape) | Migueltdf | Gráficos | 0 | 23-08-2006 02:50:10 |
Rotar Shape | dicatek | Gráficos | 3 | 18-07-2006 23:33:37 |
Shape en DetailBand | TONIAM | Impresión | 1 | 25-10-2005 17:59:24 |
Se puede pintar en un Shape? | k2k2k2 | Gráficos | 4 | 13-01-2005 11:56:49 |
|