delphi - Arrastrar/soltar dentro de una aplicación Y a otra aplicación
drag-and-drop (3)
Tengo un ListView que contiene nombres de archivo. Estos nombres de archivo deben poder arrastrarse a TreeView, que es una función de arrastrar / soltar dentro de la aplicación y funciona con el soporte integrado de arrastrar / soltar de Delphi, no hay problema. Pero también debo ser capaz de arrastrar / soltar los elementos ListView a otra aplicación, por ejemplo, Windows Explorer. Esto también funciona, por ejemplo, usando un componente DragFileSource de la suite de componentes de Anders Melander ( http://melander.dk ) que inicia su trabajo en el evento ListView.MouseDown, por lo que realmente no se inicia una operación de arrastrar / soltar.
Básicamente, necesitaría el mismo comportamiento que puede ver en un Explorador de Windows: puede arrastrar un elemento a otra carpeta dentro de la aplicación y también a otra aplicación.
¿Cómo puede hacerse esto en Delphi? Supongo que debería haber un "arrastre" iniciado, pero cuando el mouse se mueve fuera de la ventana de la aplicación, necesita "cambiar" a la otra funcionalidad, y el mouse debería regresar a la ventana de la aplicación, nuevamente a la gota de drag estándar .
¡Gracias por cualquier ayuda!
Holger
Si desea arrastrar y soltar tanto estilo VCL como estilo Windows, utilice el estilo Windows para todo, incluido el método de arrastrar y colocar dentro de su propia aplicación.
El conjunto de componentes de arrastrar y soltar que mencionas hace esto. Puede iniciar un arrastre que puede colocar en su propia aplicación u otras aplicaciones de forma predeterminada. Simplemente elija el formato de portapapeles adecuado que otras aplicaciones entiendan. ¿Cuál es tu problema con eso?
Los componentes de DropMaster pueden ayudar con esto: consulte http://www.raize.com/DevTools/DropMaster/