![]() |
Crear TLabel en Runtime asociado a una TImage
hola amigos del foro.
Estoy utilizando los componentes de Neftali (TSelectOnRunTime y TsaveComps). Adjunto a estos componentes tiene un ejemplo de un restorant. Lo que necesito hacer es muy semejante a esto, pero con algunas cosas extras. Primero necesito que a las mesas se le despliegue un Popup, lo cual lo logre al agregar una linea como sigue.
esto funciona bien, lo segundo, que es el porque de mi consulta, es que quiero agregar algunas TLabel asociadas a cada una de las mesas. Además que cuando modifique la posicion de alguna de estas mesas, las Tlabel asociadas a esta mesa en particulas se mueva con la mesa. Otra cosa la cantidad de Tlabel que contenga cada mesa puede ser variable, y depende de usuario que escogera de una lista cuales quiere que aparezcan. Se podra hacer esto... como se hace?? Espero que me puedan ayudar.. mil gracias |
Algunas preguntas.
Al crear un componente no puedo seleccionar como parent a un TImagen? Que componentes puedo utilizar como parent? He pensado en utilizar un TPanel como parent, en donde colocar un TImagen y TLabel. El problema que estoi teniendo es que el Tpanel no tiene la propiedad transparent como un TImagen, por lo que se ve mal. Entonces, que otro componente poder utilizar en donde genere otros componentes (imagen y label), pero que sea transparente... existe?? Si no existe como puedo crear alguno que cumpla estas condiciones. Espero que me puedan ayudar... muchas gracias |
1 Archivos Adjunto(s)
Cita:
(1) Cualquiera que derive de TWinControl (cosa que no hace TImage). ;) En cuanto a la cuestión, yo lo que haría en este caso es no utilizar como parent el TImage, sino el Parent de TImage y luego mover la etiqueta/s cuando muevas el componente. Te lo muestro. He utilizado el ejemplo que hay aquí, que mueve imágenes con el ratón. Y lo he modificado para crear una etiqueta y que se mueva cuando mueves la imagen. Crear la etiqueta:
Mover la etiqueta cuando mueves la imagen...
En este caso utilizao el Hint de la imagen para almacenar el nombre de la etiqueta asociada y luego buscarla. Este método está bien para la prueba, pero en tu caso utilizaría algo más robusto para almacenar las etiquetas asociadas a un TImage; Además comentas que debes poder asociar varias etiquetas, con lo que esta solución se queda "corta". |
Gracias Neftali, me funciona bien el tema de arrastrar varias TLabel con la imagen... lo que hize fue almacenar todas las Tlabel asociadas a una imagen, cosa que la moverla se mueven todas las que estasn asociadas.
Por otro lado, el problema que me surgio fue que al mover la imagen, si me salgo de la aplicacion (con el mouse) , la fota queda fuera de la vista, fuera del parent al cual corresponde. Como puedo hacer para restringuir esto, que la imagen solo pueda moverse dentro de cierto componente, por ejemplo un TPanel. Espero que se entienda mi duda. Muchas gracias |
Cita:
En el evento MouseMove tienes las coordenadas actuales; Ahí puedes comprobar si está fuera de límites y dejar la nueva posición donde te interese (sin exceder los límites). |
Hola Neftali
Excelente ejemplo como siempre , Una pregunta solamente , estoy intentando darle una mejora a mi sistema financiero echo con delphi 6 y firebird 1.5 , y entre las mejoras estan el poder arrastar un elemento de un menu cualquiera y pegarlo en un panel como si se tratase de un acceso directo (tal como se lo hace en windows seleccionas un elemento de un menu y lo arrastas al escritorio y se crea un acceso directo Esto se puede lograr un poco con la idea de tu programa .. pero cuando salgo del aplicativo se borran los elementos creados ... como se podria evitar q no se borren cuando se vuelva a ejecutar el programa Gracias por tu tiempo |
Cita:
Piensa los datos que necesitas para crear esos objetos y esos son los que deberás guardar. |
Si creo q es la mejor opcion .... como puedo simular la accion de arrastar un objeto desde un Tmenu
Voy a revisar lo q me sugieres y de antemano nuevamente muy agradecido |
| La franja horaria es GMT +2. Ahora son las 09:53:11. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi