delphi drag-and-drop

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?