Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Zorrohack en 16 Octubre 2005, 17:18 pm



Título: Cambiar Imagen con Timer
Publicado por: Zorrohack en 16 Octubre 2005, 17:18 pm
Estoy haciendo una Aplicacion en VB6  y quiero saber como hago para cambiar una Imagen mediante el Control Timer cada cierto tiempo, la imagen puede se un Picture o  Image.

Gracias



Título: Re: Cambiar Imagen con Timer
Publicado por: Crack_X en 16 Octubre 2005, 17:20 pm
Con LoadImage() , dale a F2 y busca la funcion.


Título: Re: Cambiar Imagen con Timer
Publicado por: Zorrohack en 16 Octubre 2005, 17:29 pm
Gracias me funciono !!


Título: Re: Cambiar Imagen con Timer
Publicado por: Zorrohack en 16 Octubre 2005, 17:39 pm
Entonces como le hago para cambiar la medidas de ese Picture o Image para que me quepa bien dentro del Cuadro?


Título: Re: Cambiar Imagen con Timer
Publicado por: Crack_X en 16 Octubre 2005, 18:07 pm
Creo que el PictureBox o Image control tiene una propiedad de stretch , con eso harias que se ajustara a la medida.

Tambien encontre esto googleando sobre como saber las medidas de una imagen pero no tengo el VB ahora mismo haci que no se si funciona.

http://www.freevbcode.com/ShowCode.asp?ID=894


Título: Re: Cambiar Imagen con Timer
Publicado por: NYlOn en 16 Octubre 2005, 18:47 pm
El control Image tiene la propiedad Strech, que si la pones en True ajusta la imagen al tamaño del control, pero el PictureBox no tiene esta propiedad ...


Título: Re: Cambiar Imagen con Timer
Publicado por: Zorrohack en 16 Octubre 2005, 21:19 pm
Ok hasta ahora esta todo bien , ahora como le hago para seleccionar mediante la Funcion Rnd(Random) las imagenes que estan en en el Directorio.


Título: Re: Cambiar Imagen con Timer
Publicado por: MaLkAvIaN_NeT en 16 Octubre 2005, 21:23 pm
como dice NYLOn solo el control image tiene la propiedad streach.

si quieres cambiar la imagen puedes,, primero guardar las imagenes en un imagelist y luego enviarlas así:

me.image1.picture=me.imgelist1.listimages(aca el indice de la imagen x ejemplo 1).pitcture

salu2

cin >> www.foroschl.tk


Título: Re: Cambiar Imagen con Timer
Publicado por: Zorrohack en 17 Octubre 2005, 02:08 am
Bueno con este codigo Image1.Picture=ImageList1.ListImages(1).Picture

Lo que hago es que cambio la Imagen por la que me dice que esta en el Index 1 del ImageList, pero lo que quiero hacer es que me muestra a cada cierto tiempo una imagen al azar, suponiendo que tengo 100 imagenes entradas en el ImageList.No se si me explico.


Título: Re: Cambiar Imagen con Timer
Publicado por: NYlOn en 17 Octubre 2005, 02:48 am
Código:
Dim i As Long

Math.Randomize
i = Rnd * 100 'le asigna un numero al azar a la variable i

Image1.Picture=ImageList1.ListImages(i).Picture

salu2 !


Título: Re: Cambiar Imagen con Timer
Publicado por: Zorrohack en 17 Octubre 2005, 03:33 am
Si le asigna un numero al azar pero si el numero que escoje al azar se pasa de 100 ejemplo porque tengo 100 imagenes dentro del ImageList me da error de Index out of Bound


Título: Re: Cambiar Imagen con Timer
Publicado por: NYlOn en 17 Octubre 2005, 03:45 am
Código:
i = Rnd * 100

Eso hace que el numero al azar no sobrepase el 100... pero me olvidaba de que el 100 no lo incluye...
El code kedaria:

Código:
i = Rnd 9 101

;D

salu2 !


Título: Re: Cambiar Imagen con Timer
Publicado por: Zorrohack en 17 Octubre 2005, 03:53 am
Bueno, no entendi muy bien eso pero modifique el Codigo asi:

Dim i As Long
Math.Randomize
i = Rnd * 2
If i > 2 Or i < 1 Then
   Exit Sub
Else
   Image8.Picture = ImageList1.ListImages(i).Picture
End If

porque en realidad tengo dos imagenes en el ImageList aunque ya tendre mas.  Si al azar es mayor que 2 que seria el limite del index sale de la Funcion y si es menor que 1 que es lo mas bajo del Index tambien sale.



Título: Re: Cambiar Imagen con Timer
Publicado por: NYlOn en 17 Octubre 2005, 04:08 am
Citar
porque en realidad tengo dos imagenes en el ImageList

------------____------------

x eso te daba error... lo que podes hacer es que sake un numero aleatorio dependiendo la cantidad de imagenes que hay en el ImageList:
Código:
    Dim i As Long
   
    Math.Randomize 'hace que no salga siempre la misma cadena
    i = Rnd * ImageList1.ListImages.Count 'saca un numero aleatorio del 0 a la cantidad de imagenes que hay en el ImageList

   Image8.Picture = ImageList1.ListImages(i).Picture


un saludo


Título: Re: Cambiar Imagen con Timer
Publicado por: Zorrohack en 17 Octubre 2005, 04:15 am
De todos modos me da error de Index out of Bounds , pero funciona perfectamente asi:

Dim i As Long
Math.Randomize
i = Rnd * ImageList1.ListImages.Count
If i > 3 Or i < 1 Then
  Exit Sub
Else
  Image8.Picture = ImageList1.ListImages(i).Picture
End If

Aunque se supone que funcione pero no se porque sigue dando ese error


Título: Re: Cambiar Imagen con Timer
Publicado por: MaLkAvIaN_NeT en 18 Octubre 2005, 02:29 am
...Bien cuando tu le haces un ramdom x ejemplo asi:
i=rnd*100
,, tambien te considera el cero,, y el índice mínimo del imagelist es 1

salu2

cin >>www.forochl.tk