Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   imagen que funcione como boton (https://www.clubdelphi.com/foros/showthread.php?t=61157)

onystam 27-10-2008 21:57:47

imagen que funcione como boton
 
hola amigos, recien estoy empezando a ver esto de programacion y me gusta mucho, pero bueno, voy al grano.
estoy realizando una calculadora como proyecto para el instituto, pero la forma de presentarla siempre es lo mismo, quisiera poder darle diseño a esto, o sea;
quiero hacer que una imagen (que tiene forma de un boton) cambie de estado al presionarlo y al soltarlo vuelva a su estado normal, como si fuera un boton de cualquier menu en una pagina web.
pero como no tengo un buen prof. que nos da la materia, tengo que recurrir a la web para poder conocer mas el tema.
les agradesco desde ya, su ayuda.

Deiv 28-10-2008 00:13:14

Como Novato te puedo aconsejar, que lo más sencillo sería realizar dos imágenes (botones) con PhotoShop u otro programa manejador de imágenes con distintos colores, y colocarle luego al Evento OnMouseOver o al OnMouseclick para que cambie de imagen y/o "coloracion".

Neftali [Germán.Estévez] 28-10-2008 10:03:55

Cita:

Empezado por onystam (Mensaje 322743)
...que una imagen (que tiene forma de un boton) cambie de estado al presionarlo y al soltarlo vuelva a su estado normal,


En ese caso, lo mismo que te han dicho, pero puedes probar con los eventos OnMouseDown y OnMouseUp para intercambiar las imáges.

onystam 28-10-2008 16:24:27

gracias
 
Cita:

Empezado por Deiv (Mensaje 322760)
Como Novato te puedo aconsejar, que lo más sencillo sería realizar dos imágenes (botones) con PhotoShop u otro programa manejador de imágenes con distintos colores, y colocarle luego al Evento OnMouseOver o al OnMouseclick para que cambie de imagen y/o "coloracion".

okas, les agradesco mucho, pero bue, soy muy complicado, me podrian dar un ejemplo del codigo asi me pongo a laburar, por que como dije, estoy aprendiendo desde lo que bajo de internet, y mi profesor esta sin hacer nada, es como preguntarle a nada.

muchas gracias

Caro 28-10-2008 16:49:20

Hola onystam, como te han explicado solo es usar los eventos que te indica Neftali y cargar una u otra imagen,

Código Delphi [-]
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 //Cuando presione cambiamos la imagen
 Image1.Picture.LoadFromFile('d:\Imagen1.jpg');
end;
 
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 //Y al soltar cargamos la imagen incial.
 Image1.Picture.LoadFromFile('d:\Imagen.jpg');
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
 //inicializamos el TImage
 Image1.Picture.LoadFromFile('d:\Imagen.jpg');
end;

Inclusive, también podrías hacerlo con una sola imagen y un label, cargas la imagen en el TImage y encima de ese TImage colocas el label, para solo cambiar de color del label utilizando los eventos OnMouseDown, OnMouseUp y también tiene OnMouseEnter, OnMouseLeave..

Saluditos

onystam 29-10-2008 13:50:37

Muchas gracias
 
bueno, muchisimas gracias, por las respuestas, me quedo muy en claro, y bueno, solo eso, muchassssssssssssss graciassssssssssssssssss, hoy voy a presentar este trabajo aver si es que tiene consideracion y ve por lo menos el diseño jejeje, muchas gracias gente. caro, mucho mas :):D

Khronos 29-10-2008 20:17:59

También los eventos OnMouseEnter y OnMouseLeave podrías poner para cargar otra imagen. El componente de la librería Jedi TJvImage te lo hace automaticamente, tiene la opcion para asignarle una imagen en cada evento.

Salu2

onystam 03-11-2008 17:21:29

de nuevo
 
yo de nuevo, miren he quedado como jefe con este trabajo, gracias a ustedes. y les tengo otra consulta.
en esta calculadora tengo un procedure por cada boton lo que lleva a que el codigo se me haga muy largo y repetitivo.

ahora, habria una forma de reducir el codigo, por ejemplo con botones normates se utiliza

Tbutton(sender).LoadFromResourceID...

algo asi me estaban diciendo, pero como dije dejanmucho que desear en el instituto.

en sintesis tengo muchas imagenes y a lo bruto, tengo muchos procidimientos. y bue como dije necesito saber si se puede, al igual que con los botones, ya que son imagenees las que utilizo. yo diria que si pero el profesor me dijo que no se podia.

desde ya les agradesco. y sorry por molestar tanto :)

Caro 03-11-2008 17:42:14

Hola onystam, muestranos el codigo repetitivo que quieres reducir.

Saluditos


La franja horaria es GMT +2. Ahora son las 23:47:12.

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