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
Con LoadImage() , dale a F2 y busca la funcion.
Gracias me funciono !!
Entonces como le hago para cambiar la medidas de ese Picture o Image para que me quepa bien dentro del Cuadro?
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
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 ...
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.
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
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.
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 !
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
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:
i = Rnd 9 101
;D
salu2 !
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.
Citarporque 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:
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
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
...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