Drag Drop. Intercambiar Origen Y Destino


Ir a la página 1, 2  Siguiente

Objetivo: Drag Drop. Intercambiar Origen Y Destino
Buenos días!.

Llevo unos días liado con el método de arrastre y soltar. Estoy tratando de crear otro ejemplo, pero para hacer ese,
he tenido que crear otro, hasta que parece que lo he conseguido. Quizás se pueda mejorar.

Hasta me había inventado una historia para este ejemplo.
Problema:

Un niño tiene que escoger una mascota, pero solo le dejan tener una en casa.
La mascota con el tiempo la puede cambiar por otra , devolviéndola a la tienda.
¿ Cómo resolverías el problema visto desde una aplicación gráfica ?.

Cómo es lógico al cambiar de mascota si arrastro desde el grupo de imágenes hasta
el picturebox grande se va a intercambiar directamente, origen y destino. Con lo
que ya se ha hecho el cambio de mascota.

Este es el formulario:

mascotas

Este es el código:

A ver si es posible hacer más fácil el evento Drop de PicMiMascota.

' gambas class file

'Fuente de los iconos: http://www.flaticon.com/

Public Sub PicMiMascota_Drop()
Dim antiguaimagen As Picture

If Drag.Type = Drag.Text Then
Drag.Source.Tag = PicMiMascota.Tag
antiguaimagen = PicMiMascota.Picture
PicMiMascota.Tag = Drag.Data
PicMiMascota.Picture = Picture[Drag.Data]

'Lo hice de esta forma para actualizar la imagen del control fuente
'Control carece de la propiedad Picture.
Object.SetProperty(Drag.Source, "Picture", antiguaimagen)
Endif

End

Public Sub Animales_MouseDrag()

If Mouse.Left And Last.Picture <> Null Then
Drag.icon = Last.Picture
Last.Drag(Last.tag)
Endif

End


Public Sub Form_Open()

Dim ruta As String
Dim nomimagenes As New String[]

Me.Title = "Mascotas"

ruta = Application.Path & "/Mascotas/"
nomimagenes = LeerArhivosDir(ruta)
AsignarImagenes(nomimagenes)

End

Public Function LeerArhivosDir(rut As String) As String[]

Dim snombre As String
Dim anombres As New String[]

For Each snombre In Dir(rut)
anombres.Add(rut &/ snombre)
Next

Return anombres

End

Public Sub AsignarImagenes(nombres As String[])

Dim i As Integer
Dim cPictureBox As Object

For Each cPictureBox In VBox1.Children
If cPictureBox Is PictureBox Then
With cPictureBox
.Picture = Picture[nombres[i]]
.tag = nombres[i]
End With
Endif
i += 1
Next

End


Aquí el código. Me gustaría comentar, que las imágenes son más grandes por lo que en el arrastre la imagen se ve al tamaño real.
Hacer que se pueda coger desde el Picturebox grande y soltar en los pequeños no debe ser nada difícil de hacer.

Este es mi ejemplo final para el que quiero aplicar esto.

baraja

Saludos


Mascotas2DragDrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: Mascotas2DragDrop.tar.gz
Tamaño: 42.1 KB
Descargado: 40 veces
Mascotas2DragDrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: Mascotas2DragDrop.tar.gz
Tamaño: 42.1 KB
Descargado: 40 veces
Mascotas2DragDrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: Mascotas2DragDrop.tar.gz
Tamaño: 42.1 KB
Descargado: 40 veces

Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
Si hacemos unos pequeños cambios...que no he publicado..jejeje.

Podemos obtener algo como esto. A mi que me suena el de la derecha, ¿ quien será ?.

imagenesscrollview

Saludos

Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
ehhh!!!

en esa foto hay muchos famosos

Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
no se quien sera, pero...

https://www.gordos.com/

Perfil MP  
Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
tercoIDE:

Julio no está gordo, está fuertecito, como muchos de los de la comunidad.
Que yo también tengo mis kilos. Kilos de felicidad!!. Que ya podían ser de pasta gansa!.

Citar:

en esa foto hay muchos famosos


Si, totalmente de acuerdo. Como también hay un famoso programador de la comunidad Gambas-es.

Saludos

Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
Shell escribió: [Ver mensaje]
tercoIDE:

Julio no está gordo, está fuertecito, como muchos de los de la comunidad.
Que yo también tengo mis kilos. Kilos de felicidad!!. Que ya podían ser de pasta gansa!.


Saludos


el del medio es Benoit?

Perfil MP  
Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
tercoIDE:

Citar:

el del medio es Benoit?


Pssss, no se lo digas a nadie, pero es el hermano gemelo de Benoît. Algo "Andalú" ha salido.

Está claro que no conoces a los actores. Los de al lado de Julio son dos actores de la serie "Allí abajo".
Desde la derecha de Julio, Salva Reina ( "El Jozé" ) y Jon Plazaola ("El Iñaki").
Este es un trailer de la serie de la primera temporada. Que ya terminaron y televisaron la segunda temporada.


Link


Como es normal, tan solo es una serie de humor. No se trata de criticar ni a unos ni a otros.

Y visto esto, " Podemos seguir hablando de mi libro ?".


Link


Saludos

Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
JAJAJAJAJJAJAJA


ok, ok, vamos a hablar de Drag and Drop !!!!!!!!!!!!!




Perfil MP  
Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino


Creo que lo comenté en su día en otro mensaje.

Hay veces cuando cerramos una aplicación en ejecución y la acción de arrastre no se ha completado correctamente,
ese arrastre puede permanecer en el escritorio. Pareciendo que hay una fantasma en el escritorio.

En cuanto al evento Drop del PictureBox para asignarle la imagen, ¿ creéis que es la forma más adecuada ?. Usar:

...
Object.SetProperty(Drag.Source, "Picture", antiguaimagen)
...


No puedo usar algo como:

Drag.Source.Picture = antiguaimagen


Ya que me respondería "Símbolo desconocido Picture en la clase Control"

La existencia de esta línea:

Drag.Source.Tag = PicMiMascota.Tag


Permite realizar de alguna forma mejor el intercambio. Si la comentásemos y comenzáramos:

Arrastro el pájaro, luego arrastro el perro. Hasta ahí correcto.
Pero, ¿ y si ahora arrastro el pájaro de nuevo ?. La imagen devuelta al origen es el perro,
pero no se queda en el picturebox grande el pájaro.

Es mas si arrastrásemos la imagen de otro animal (ejemplo el loro),
vamos a obtener la imagen del perro dos veces en los picturebox del origen.

Por eso tuve que usar esa instrucción. Aunque si la ejecuto paso a paso, el contenido parece "nulo". (Lógico no tiene imagen. Esto es correcto.)

Saludos

última edición por Shell el Miercoles, 20 Julio 2016, 10:51; editado 1 vez
Objetivo: Re: Drag Drop. Intercambiar Origen Y Destino
TercoIde:

Citar:
no se quien sera, pero...

https://www.gordos.com/


¿gordo????

¡¡ ESTOY FUERTOTE !!!

nota:
Gracias Shell por echarme un capote...

Ir a la página 1, 2  Siguiente

Página 1 de 2


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.3978s (PHP: -68% SQL: 168%)
Consultas SQL: 48 - Debug off - GZIP Activado