https://foro.gambas-es.org/viewtopic.php?f=1&t=3422&p=19226#p19226
-----------------------------------
Shell
Domingo, 13 Octobre 2013, 09:05

Re: Dos Cositas Sobre Drag & Drop
-----------------------------------
Hola!.

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

Tu tienes:

[code linenumbers=false syntax=gambas]
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
[/code]

Lo cambie a:

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

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:

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

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

[code linenumbers=false syntax=gambas]
Debug Drag.Type
[/code]

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

Saludos


