https://foro.gambas-es.org/viewtopic.php?f=1&t=1419
-----------------------------------
pittusa
Viernes, 18 Febrero 2011, 20:17

Problemas Al Recargar Picturebox
-----------------------------------
Hola.

[code linenumbers=false syntax=gambas]PUBLIC SUB Form_Open()

PictureBox1.Picture = picture[User.home &/ "Desktop/imagenes/1.jpg"]
PictureBox2.Picture = picture[User.home &/ "Desktop/imagenes/2.jpg"]
PictureBox3.Picture = picture[User.home &/ "Desktop/imagenes/3.jpg"]

END

PUBLIC SUB Button1_Click()

  
PictureBox1.Picture = picture[User.home &/ "Desktop/imagenes/1.jpg"]
PictureBox1.Refresh
WAIT

PictureBox2.Picture = picture[User.home &/ "Desktop/imagenes/2.jpg"]
PictureBox2.Refresh
WAIT

PictureBox3.Picture = picture[User.home &/ "Desktop/imagenes/3.jpg"]
PictureBox3.Refresh
WAIT 


END[/code]

Al ejecutar el programa se cargan las imágenes.

Ahora, con el programa en ejecución, cambio las imágenes pero no el nombre.

pulso button 1 y no se cargan las nuevas imágenes, me sigue cargando las anteriores,
cuando en el directorio hay otras con el mismo nombre.

Si paro el programa y lo vuelvo a ejecutar si que las carga.

como soluciono esto?

gracias.


-----------------------------------
david
Viernes, 18 Febrero 2011, 23:11

Re: Problemas Al Recargar Picturebox
-----------------------------------
recarga otra vez el formulario haber si entra


-----------------------------------
Dani26
Sabado, 19 Febrero 2011, 04:27

Re: Problemas Al Recargar Picturebox
-----------------------------------
:shock: ¿No puedes ponerle nombre diferente a las imágenes?
Como dice Tarzán: Mi no entender.
Saludos


-----------------------------------
pittusa
Sabado, 19 Febrero 2011, 09:24

Re: Problemas Al Recargar Picturebox
-----------------------------------
Hola.

Me interesa que el nombre sea el mismo por que las imagenes se van cargando
a pictures con un array de objetos.


Con picture.load() se cargan, pero luego tengo que identificar la imagen que 
contiene cada picture y no obtengo el nombre de la misma.

he probado con me.refresh pero no se refrescan.

El programa va de una serie de nueve puzles que se van cargando cada vez vez que pasas uno.

en un lado tienes la serie de 12 piezas que es un array de 12 objetos pictures vacios y
en el otro, los otros 12 pictures con las imágenes desordenadas.

Necesito saber la imagen que contiene el lado desordenado para que al arrastrarlas al otro lado se sepa
si es la suya o no.

También tienes la opción de seleccionar la imagen que tu quieras para hacer el puzle, el programa te la trocea.

Ay es donde tengo el problema, borro la serie de imágenes que había y pongo las que ha elegido el usuario
pero si no paro el programa no se carga.

Las carpetas que contienen los puzles son numeros del 1 al 9, y el nombre de las imagenes van del 1 al 12,

1.jpg 2.jpg. se van cargando con for next:

[code linenumbers=false syntax=gambas]for nombre_imagen = 1 to 12
imagen.picture.clear
imagen.picture = Picture[ruta & directorio_puzle & "/" & nombre_imagen & ".jpg"] ' aqui, si pongo picture.load se cargan  pero luego no identifico la imagen en el drop
imagen.Refresh
arrayimagen[i] = imagen ' imagen es un objeto picture(imagen = NEW Picturebox(ME) as "picsdesordenados")
next[/code]

al arrastrar la imagen de un lado a otro la identifico así:

[code linenumbers=false syntax=gambas]PUBLIC SUB picsvacios_Drop()

DIM i AS Integer
i = LAST.tag

arrayimagen2[i].picture = Drag.Icon
IF arrayimagen2[i].picture = picture[ruta & directorio_puzle & "/" & i & ".jpg"] THEN 
acierto = acierto +1 'si acierto vale 12 el puzle esta completo.
end if
END[/code]

Cuando se pasa de puzle se incrementa la variable directorio_puzle en 1.

Si e jugador quiere cambiar la imagen de un puzle cuando esta jugando sin parar el programa, puede hacerlo.
Borro las imágenes de dicho puzle, troceo la imagen que elije, y las copio a su correspondiente directorio.
Al abrirlo para jugar se cargan las que están borradas y no las que copié.(Ese es el problema)

Cada vez que cargo un nuevo puzle destruyo los objetos y los creo otra vez.

[code linenumbers=false syntax=gambas]FOR i = 0 TO arrayimagen.count - 1
 arrayimagen[i].delete
 arrayimagen2[i].delete
NEXT[/code]

Espero se entienda algo.

gracias.


