Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Drag Drop. Intercambiar Origen Y Destino
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje 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: 38 veces
Mascotas2DragDrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: Mascotas2DragDrop.tar.gz
Tamaño: 42.1 KB
Descargado: 38 veces
Mascotas2DragDrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: Mascotas2DragDrop.tar.gz
Tamaño: 42.1 KB
Descargado: 38 veces

 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drag Drop. Intercambiar Origen Y Destino 
 
ehhh!!!

en esa foto hay muchos famosos      
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drag Drop. Intercambiar Origen Y Destino 
 
no se quien sera, pero...

https://www.gordos.com/
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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?
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Drag Drop. Intercambiar Origen Y Destino 
 
JAJAJAJAJJAJAJA


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



 
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Miercoles, 20 Julio 2016, 10:51; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje 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...      
 




===================
Blog personal
Web: SoloGambas seleccion de articulos dedicados a Gambas
Visita el Curso de Gambas3 ¡¡¡Gratuito!!!
 
jsbsan - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Drag & Drop JaM0N General 16 Jueves, 12 Noviembre 2009, 20:21 Ver último mensaje
fabianfv
No hay nuevos mensajes Drag And Drop jose2190 General 3 Domingo, 19 Septiembre 2010, 10:22 Ver último mensaje
jsbsan
No hay nuevos mensajes Drag/Drop pittusa General 4 Domingo, 30 Enero 2011, 18:31 Ver último mensaje
pittusa
No hay nuevos mensajes Drag Drop, Drag Source, Tag Shell General 0 Domingo, 08 Octobre 2017, 11:28 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
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



  

 

cron