FoxPro/Visual FoxPro - Cambiar Propiedades de Imagen

 
Vista:

Cambiar Propiedades de Imagen

Publicado por Javier (43 intervenciones) el 15/02/2007 14:25:00
Buenos días.
Estoy teniendo un problema con un menú que estoy haciendo.
Les comento que realicé una clase de tipo container. Dentro de ella puse 2 imágenes. Las dos imágenes inicialmente están en blanco y negro.
La idea es que cuando haga click en una de las imágenes me cambie el dibujo de esa y se ponga de color . Eso lo hago facilmente con el evento click de esa imagen. Pero el inconveniente es cuando hago click en la otra imagen, ya que si bien puedo cambiar la imagen por la de color, no se como cambiar la imagen por la de blanco y negro de la otra imagen.

Por favor necesito que me ayuden con esto. Debe ser una tontería.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Cambiar Propiedades de Imagen

Publicado por Esteban Andrade (23 intervenciones) el 15/02/2007 14:32:18
Ninguna pregunta es una tontería, aunque creo que tu idea es de que debe ser muy fácil.
La verdad es que no lo es. Debes de trabajar con un control timer, y un identificador de objetos para que automáticamente, cuando el ratón no esté encima de la imagen, esta vuelva a Blanco y negro.

Sin embargo, hay maneras menos ortodoxas que funcionan:

La imagen tiene el evento MouseMove, en donde puedes cambiarla cuando el ratón pasa encima de ella, o bien el evento click, cuando la presionas, y también tiene el evento MouseUp, cuando sueltas el botón del Ratón.

Mi manera de hacerlo sencillo sería:

- En el evento MouseMove de la imagen, le cambiaría la propiedad Picture, para poner la imagen en color.
- En el evento MouseMove del formulario, le cambiaría nuevamente la propiedad Picture de la imagen por la de blanco y negro.

Espero haberme explicado, suerte!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambiar Propiedades de Imagen

Publicado por Esteban Andrade (23 intervenciones) el 15/02/2007 14:53:08
Prueba este código, no es con imagenes (porque no te lo podría pasar completo), pero te dará una idea de cómo hacerlo no-ortodoxamente... :o)

myform = createobject("MiFormulario")
myform.visible = .t.

myform.addobject("Label1", "Prueba")
myform.label1.top = 20
myform.label1.left = 20
myform.label1.caption = " Pasa sobre mi "
myform.label1.Autosize = .t.
myform.label1.visible = .t.

myform.addobject("Label2", "Cerrar")
myform.label2.top = 60
myform.label2.left = 20
myform.label2.caption = " Cerrar "
myform.label2.Autosize = .t.
myform.label2.visible = .t.

read events

define class "Prueba" as "Label"
BorderStyle = 1
BackColor = RGB(255,255,255)
ForeColor = RGB(0,0,100)
procedure MouseMove
LPARAMETERS nButton, nShift, nXCoord, nYCoord
This.BackColor = RGB(0,0,100)
This.ForeColor = RGB(255,255,255)

procedure MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord
This.BackColor = RGB(192,192,192)

procedure MouseUp
LPARAMETERS nButton, nShift, nXCoord, nYCoord
This.BackColor = RGB(255,255,255)
This.ForeColor = RGB(0,0,100)
EndDefine

define class "Cerrar" as "Label"
BorderStyle = 1
BackColor = RGB(255,255,255)
ForeColor = RGB(0,0,100)

procedure click
ThisForm.Release

procedure MouseMove
LPARAMETERS nButton, nShift, nXCoord, nYCoord
This.BackColor = RGB(0,0,100)
This.ForeColor = RGB(255,255,255)

procedure MouseDown
LPARAMETERS nButton, nShift, nXCoord, nYCoord
This.BackColor = RGB(192,192,192)

procedure MouseUp
LPARAMETERS nButton, nShift, nXCoord, nYCoord
This.BackColor = RGB(255,255,255)
This.ForeColor = RGB(0,0,100)
EndDefine

define class "MiFormulario" as Form
width = 165
height = 100
Caption = "Javier"
Autocenter = .t.

Procedure Destroy
Clear Events
procedure MouseMove
LPARAMETERS nButton, nShift, nXCoord, nYCoord
This.Label1.BackColor = rgb(255,255,255)
This.LAbel1.ForeColor = rgb(0,0,100)
This.Label2.BackColor = rgb(255,255,255)
This.LAbel2.ForeColor = rgb(0,0,100)
enddefine
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cambiar Propiedades de Imagen

Publicado por Javier (43 intervenciones) el 15/02/2007 18:28:59
Esteban,

antes que nada gracias por la ayuda. Sin embargo lo que necesito hacer es que cuando presiono el botón, este quede de color (por más que saque el puntero de encima) ycuando presiono otro botón, cambie el color del que presione y el anterior se quede en blanco y negro.
Si podés ayudarme con eso te lo agradecería.

Javier
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Cambiar Propiedades de Imagen

Publicado por Ernesto Hernandez (4626 intervenciones) el 15/02/2007 18:58:36
En el Evento Click puedes poner lo siguiente

Esto seria en el Cnt1
ThisForm.Cnt1.Picture=ImagenColor.JPG
ThisForm.Cnt2.Picture=ImagenByN.JPG


Esto seria en el Cnt2
ThisForm.Cnt1.Picture=ImagenByN.JPG
ThisForm.Cnt2.Picture=ImagenColor.JPG

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar