https://foro.gambas-es.org/viewtopic.php?f=1&t=1356
-----------------------------------
pittusa
Domingo, 30 Enero 2011, 11:02

Drag/Drop
-----------------------------------
Hola.

Tengo unos pictures creados por código almacenados en arrays.

Tengo que arrastrar las imágenes que contienen de unos a otros, pero quiero que al arrastrar la imagen
el picture del que sale la imagen desaparezca.

el codigo que tengo es este:

[code linenumbers=false syntax=gambas]PUBLIC SUB fotosale_MouseDrag() 'este es el grupo de pictures del que salen las imágenes.
    
    IF Mouse.Left THEN
    Drag.Icon = LAST.Picture
    LAST.Drag(LAST.Picture.Image)
    
    
ENDIF
  
  
END 

PUBLIC SUB fotoentra_Drop() ' Este es el grupo que recibe las imágenes.

  DIM i AS Integer
  i = LAST.tag
   arrayimagen2[i].picture = Drag.Icon

END[/code]

Este código funciona las imágenes se arrastran y se ponen en el picture que las recibe.
Pero no se como decirle que desaparezca del picture que fue arrastrada.

Supongo que tendré que decirle en el evento drop del grupo de imágenes que
reciben que se cambie la imagen del picture del que vienen.

No se como hacerlo.

Gracias


-----------------------------------
jsbsan
Domingo, 30 Enero 2011, 12:12

Re: Drag/Drop
-----------------------------------
Se me ocurre que puedes crear un variable que indique el nombre de donde viene la imagen, y cuando la sueltes, el programa lea esa variable y anule al picture...

Saludos


-----------------------------------
jguardon
Domingo, 30 Enero 2011, 12:48

Re: Drag/Drop
-----------------------------------
O al final del evento Drop, pon una instrucción que borre (o asigne NULL) a la propiedad Picture del PictureBox de origen.

Saludos


-----------------------------------
pittusa
Domingo, 30 Enero 2011, 14:37

Re: Drag/Drop
-----------------------------------
hola y gracias por las respuestas.

pero el problema es que no se como obtener el picturebox de origen.

con LAST obtengo el ultimo que es el que recibe.

gracias.


-----------------------------------
pittusa
Domingo, 30 Enero 2011, 18:31

Re: Drag/Drop
-----------------------------------
Hola.

Lo he arreglado.

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

 
    IF Mouse.Left THEN
    Drag.Icon = LAST.Picture
    LAST.Drag(LAST.Picture.Image)
    c = LAST.tag  'Aqui esta la clave, asigno a la variable c el ultimo  objeto que se arrastro mediante tag.
    
ENDIF
END 

PUBLIC SUB fotoentra_Drop()

  DIM i AS Integer
  i = LAST.tag
  
  
arrayimagen2[i].picture = Drag.Icon
IF arrayimagen2[i].picture = picture["1.JPG"] THEN arrayimagen2[1].enabled = FALSE
arrayimagen[c].picture = picture["sinimagen.JPG"]  ' y aqui aplico a c ese valor, buaalaa
END[/code]

Una cosa tan sencilla y lo que me ha costado.
gracias.


