Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Modificar TImage con otra imagen dentro (https://www.clubdelphi.com/foros/showthread.php?t=82252)

agustinbus 14-02-2013 22:23:00

Modificar TImage con otra imagen dentro
 
Buenas! como andan? Abro este hilo (No sabia si en la seccion graficos o POO, sepan disculpar si me confundi) por una duda que me surgio.
Quiero crear un nuevo componente heredado de un TImage, pero con la unidca diferencia de que este debe tener la opcion de agregar otra imagen pequeña en el centro. La idea es en el Image original(de fondo) colocar una imagen que simule ser un boton, y el la imagen pequeña que se encuentra ensima otra imagen tomada de una bbdd.
Espero puedan darme una idea o orientarme un poquito.

Saludos y gracias a todos!

Neftali [Germán.Estévez] 15-02-2013 09:30:53

Cita:

Empezado por agustinbus (Mensaje 455042)
Buenas! como andan? Abro este hilo (No sabia si en la seccion graficos o POO, sepan disculpar si me confundi) por una duda que me surgio.
Quiero crear un nuevo componente heredado de un TImage, pero con la unidca diferencia de que este debe tener la opcion de agregar otra imagen pequeña en el centro. La idea es en el Image original(de fondo) colocar una imagen que simule ser un boton, y el la imagen pequeña que se encuentra ensima otra imagen tomada de una bbdd.
Espero puedan darme una idea o orientarme un poquito.

¿Y Cual es el problema? ¿Qué necesitas? ¿Cómo crear el componente?

Por otro lado, por lo que he entendido, al final quieres simular un botón con una imagen dentro. Piensa que un componente no sólo es lo que se ve. es decir, si lo que quieres es un botón, piensa que un botón tiene acciones y eventos que no tienen una imagen.
Lo digo porque, si la idea final es conseguir un botón, a lo mejor no es buena idea que derives el componente de un TImage.

Además de la parte visual, que es lo que nos has explicado, ¿nos puedes decir qué funcionalidad debe tener ese componente?

agustinbus 15-02-2013 16:30:51

1 Archivos Adjunto(s)
Hola Neftali gracias por responder! Si lo que quiero es crear un nuevo componente para que me facilite un poco el trabajo. Como puse en el mensaje no quiero el componente hecho, sino que me orienten un poco porque no se mucho de creacion de componentes.
Si lo que quiero es simular un boton pero con dos TImage, ya se que tienen eventos distintos pero los de los TImage me sirven(uso onclic, mousedown, mouseup, mouseleave, mouseenter). Hace mucho utilizo en mis sistemas Imagenes en ves de los botones que vienen por defecto, porque me gusta darles un aspecto visual mas elegantes y profesional.

Para que se entienda mas, me tome el trabajo de hacer un pequeño ejemplo, se trata de 6 botones, dos para moverse a traves de los registros y otros 4 que cargan una imagen y el nombre de un producto de la BBDD.

Archivo Adjunto 2562

Como se puede apreciar en la imagen, por cada boton uso un TImage para el fondo(seria el cuerpo del boton) y un TImage para la imagen del articulo que cargo desde la BBDD. Espero se haya comprendido y puedan guiarme un poco de como podria desarrollarse este componente.
Desde ya muchas gracias!

Neftali [Germán.Estévez] 15-02-2013 18:39:28

Buen, ahora queda un poco más claro...
Lo primero, decir que si buscas por Internet encontrarás varios cursos de creación de componentes paso a paso. por si quieres seguir un guión.

En cuanto a tu componente, si ya tienes claro que lo quieres hacer así, yo comenzaría por derivar de TImage o de TGraphicControl (empieza por el primero).

Redefine, por ejemplo, el método Paint del componente (revisa la unit Graphics para ver cómo está hecho en TImage) y en ese método prueba a pintar algo dentro de tu TImage (por ejemplo un rectángulo).

agustinbus 15-02-2013 19:30:05

Con esas simples sugerencias creo que me has guiado muchisimo porq la verdad estaba muy perdido.
Voy a investigar mas y probar hacer algo. Si logro lo que quiero seguramente subire al club el componente.
Muchas Gracias por tu respuesta!


La franja horaria es GMT +2. Ahora son las 00:40:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi