Ocultar y mostrar ciertas imagenes
Comenzado por
Caral
, jul 19 2009 02:23
6 respuestas en este tema
#1
Escrito 19 julio 2009 - 02:23
Hola
A ver si me podéis ayudar en te invento.
Lo que tengo:
Tengo una serie de imágenes, están van en números impares y pares.
Image1, 3, 5, 7.......
Image2. 4, 6, 8.......
La imágenes impares están siempre visibles.
Lo que quiero es que cuando pase el ratón por una imagen impar se haga visible su correspondiente imagen par.
1= 2, 3= 4, 5= 6 etc.
Y que según se vallan pasando las otras se vallan ocultando.
Espero que me entendáis.
Saludos
A ver si me podéis ayudar en te invento.
Lo que tengo:
Tengo una serie de imágenes, están van en números impares y pares.
Image1, 3, 5, 7.......
Image2. 4, 6, 8.......
La imágenes impares están siempre visibles.
Lo que quiero es que cuando pase el ratón por una imagen impar se haga visible su correspondiente imagen par.
1= 2, 3= 4, 5= 6 etc.
Y que según se vallan pasando las otras se vallan ocultando.
Espero que me entendáis.
Saludos
#2
Escrito 19 julio 2009 - 02:28
Pues ¿qué componentes estás usando?.
Saludos.
Saludos.
#3
Escrito 19 julio 2009 - 02:44
En caso de que esté utillizando TImage, como esos no tienen un evento OnMouseOver, lo que se me ocurre es utilizar los eventos OnMouseDown y OnMouseUp:
Pero dejemos que vengan los maestros .
Saludos.
delphi
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin if button = mbLeft then begin Image1.Picture.LoadFromFile('C:\2.bmp'); end else begin Image1.Picture.LoadFromFile('C:\1.bmp'); end; end; procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin Image1.Picture.LoadFromFile('C:\1.bmp'); end;
Pero dejemos que vengan los maestros .
Saludos.
#4
Escrito 19 julio 2009 - 06:56
Las condiciones para que funcione son: Que los TImage llamen TImage1, TImage3, TImage5...etc ; que los archivos estén en la carpeta del ejecutable y que se llamen 1.jpg, 2.jpg, 3.jpg.... etc, solo basta compartir para todos los TImage los eventos OnMouseEnter y OnMouseLeave.
Espero te sirva.
Saludos
delphi
function ExtraerNumero(const Numero : String) : String; var I:integer; TempNum : String; begin Result := Numero; for i := 1 to Length(Numero) do if not (Numero[I]in['0'..'9']) then //Versiones anteriores a Delphi 2009 //if not (CharInSet(Numero[i],['0'..'9'])) then// para Delphi 2009 begin TempNum := Result; while Pos(Numero[I], TempNum) > 0 do Delete(TempNum, Pos(Numero[I], TempNum), 1); Result:= TempNum; end; end; procedure TForm1.ImageMouseEnter(Sender: TObject); var NumeroImagen :Integer; begin NumeroImagen:= StrToInt(ExtraerNumero(TImage(Sender).Name))+1; TImage(Sender).Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\'+ IntToStr(NumeroImagen)+'.jpg'); end; procedure TForm1.ImageMouseLeave(Sender: TObject); var NumeroImagen :Integer; begin NumeroImagen:= StrToInt(ExtraerNumero(TImage(Sender).Name)); TImage(Sender).Picture.LoadFromFile(ExtractFilePath(Application.ExeName)+'\'+ IntToStr(NumeroImagen)+'.jpg'); end;
Espero te sirva.
Saludos
#5
Escrito 19 julio 2009 - 07:00
Hola
Muchas gracias amigos
Lo resolví con un sistema mas a lo novato pero funciona.
Lo que estaba haciendo era una agenda de teléfonos, algo para pasar el rato y no olvidarme.
Voy a dejar el programita en el foro Access (AQUI) ya que trabaja con este.
Gracias por vuestras ideas.
Saludos
#6
Escrito 19 julio 2009 - 07:37
Vale Wilson, se ve interesante, pero sacame de las dudas, ¿qué delphi usas?, en D7 el TImage no tiene los eventos OnMouseEnter y OnMouseLeave al igual que OnMouseOver.
Saludos.
Saludos.
#7
Escrito 19 julio 2009 - 09:07
Delphi 2009 amigo.
Saludos
Saludos