Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Dos Cositas Sobre Drag & Drop
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Dos Cositas Sobre Drag & Drop 
 
Tengo un problema (bueno, dos como ahora veréis)

Si tienes un Fileview, por ejemplo, aunque vale cualquier control que tenga la propiedad de selección múltiple (listbox, gridview, etc.) y seleccionas varios items (con la propiedad multi a true), cuando quieres hacer un drag and drop con lo seleccionado haciendo click sobre uno de ellos, el evento click se dispara y de-selecciona todo salvo aquél sobre el que has hecho click, con lo que al arrastras sólo arrastras uno.
Para arrastrar todos los seleccionados tienes que iniciar la operación de arrastre justo después de seleccionar el último sin levantar el ratón.
Así surge la primera cuestión:

¿Hay alguna manera de detener ese evento click para dar tiempo a que se dispare el drag?

Para ilustraros esto he hecho un pequeño proyecto con un fileview y un textarea, donde seleccionamos varios ficheros en el fileview y arrastrando al textarea sus nombres son copiados. Pero, ¡oh sorpresa!, no consigo que el textarea me acepte el drop.
He dado vueltas como un idiota un rato y, convencido de que es una tontería, os traslado la segunda cuestión:

¿Qué le pasa a ese textbox para que no funcione el drag & drop? (y mira que creía que tenía dominado el asunto este....)

Adjunto el miniproyecto.

dragdrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: dragdrop.tar.gz
Tamaño: 4.94 KB
Descargado: 55 veces
dragdrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: dragdrop.tar.gz
Tamaño: 4.94 KB
Descargado: 55 veces
dragdrop.tar.gz
Descripción:  
Descargar
Nombre del archivo: dragdrop.tar.gz
Tamaño: 4.94 KB
Descargado: 55 veces

 



 
última edición por shordi el Domingo, 13 Octobre 2013, 10:39; editado 3 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dos Cositas Sobre Drag & Drop 
 
Hola!.

A ver que ayer baje tu ejemplo y voy a tratar un poco el tema.

Tu tienes:

Public Sub FileView1_MouseDrag()
    
    Dim cad As String
    
     If fileview1.Selection.Count > 0 Then
         cad = fileview1.Selection.Join("\n")
         fileview1.Drag(cad, "text/html")
         Drag.Icon = Stock["copy"]            
     Endif
    
End
 


Lo cambie a:

   If FileView1.selection.count > 0 Then
        cad = fileview1.Selection.Join("\n")    
        Last.Drag(cad)
        Drag.Icon = Stock["copy"]      
    Endif
 
    

Tu sabes que esta arrastrando una cadena, no otra cosa. Entonces prueba a decirle que te arrastre la cadena.
Luego en el evento drop del TextArea, esperara que lo que va a dejarse caer es un array, no una cadena.
Entonces, he usado esto:

Public Sub TextArea1_Drop()
    
    Dim ar As String[]
    
    ar = Split(Drag.Data, "\n")
    
    TextArea1.text = ar.Join("\n")
    Wait 0.1
      
End
 


Ah, quería comentarte que uses Debug.
Aunque a veces hace respuestas extrañas.
Por ejemplo para saber que tipo de arrastre hace.

Debug Drag.Type
 


Tengo que continuar mirando lo del evento.
Naturalmente seguro que el código se puede cambiar algo mas.

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 13 Octobre 2013, 09:06; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dos Cositas Sobre Drag & Drop 
 
También puedes poner directamente en el evento Drop del TextArea:

Public Sub TextArea1_Drop()
   Last.text = Drag.Data
End
 


Menos código.

Cuando vi las propiedades de lo que arrastraba, antes de mostrarlo en la caja de texto, observo esto:

 drag

La propiedad Formats es una array

Saludos
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
última edición por Shell el Domingo, 13 Octobre 2013, 09:55; editado 1 vez 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dos Cositas Sobre Drag & Drop 
 
Ok. Hay veces que uno se empecina en tontás.

De todas formas la primera cuestión que planteo es la que de verdad me interesa: ¿Cómo evitar el click sobre los seleccionados cuando vas a hacer un drag?
Es que en todas partes funciona así, primero selecciono, y lugo hago click sobre uno de los seleccionados y arrastro y los arrastra todos y mis usuarios van como loquicos.
 



 
última edición por shordi el Domingo, 13 Octobre 2013, 10:06; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dos Cositas Sobre Drag & Drop 
 
Prueba esto:

Selecciona dos archivos por ejemplo, no uses el izquierdo, usa el derecho.  

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: Dos Cositas Sobre Drag & Drop 
 
Solucionada la primera cuestión (el error de poner "text/html" como segundo parámetro en lugar de "text/plain", que era lo correcto, me viene de las ayudas de gambas, que puse el parámetro tomado de esta página sin leer atentamente lo que dice. http://www.gambasdoc.org/help/comp/gb.qt4/control/drag?es&v3)

He actualizado el comprimido para que ahora sí funcione, a ver si alguien sabe algo de lo que pido en la cuestión primera, que es la que me interesa de verdad.

Se me animen.

Saludos
 



 
última edición por shordi el Domingo, 13 Octobre 2013, 10:44; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dos Cositas Sobre Drag & Drop 
 
Citar:
Selecciona dos archivos por ejemplo, no uses el izquierdo, usa el derecho


Sí, así funciona, pero ¿no es posible con el izquierdo?, es que es la práctica habitual.
 



 
última edición por shordi el Domingo, 13 Octobre 2013, 10:48; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Dos Cositas Sobre Drag & Drop 
 


Usa en el evento Click de FIleVIew :

Stop Event

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: Dos Cositas Sobre Drag & Drop 
 
No lo veo claro. Si no se me ocurre nada, le daré un toque más serio a los usuarios para que usen el derecho... aunque no me gusta mucho eso de no saber cómo se hace algo.   

Saludos
 



 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
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 Sobre Drag An Drop Desde El Escritorio shordi General 4 Viernes, 21 Junio 2013, 19:42 Ver último mensaje
Shell
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 1
 

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