在应用程序内拖放/到另一个应用程序

时间:2008-10-13 18:17:09

标签: delphi drag-and-drop

我有一个包含文件名的ListView。这些文件名需要可拖动到TreeView,这是应用程序内部的拖放操作,并使用Delphi的内置拖放支持 - 没问题。但我还必须能够将ListView项目拖放到另一个应用程序,例如Windows资源管理器。这也有用,例如使用Anders Melander的Component Suite(http://melander.dk)的DragFileSource组件,它在ListView.MouseDown事件中开始工作,因此没有真正启动拖放操作。

基本上,我需要在Windows资源管理器中看到的相同行为:您可以将项目拖动到应用程序内部的另一个文件夹以及另一个应用程序。

如何在Delphi中完成?我想应该启动一个“拖动”,但是当鼠标移动到应用程序窗口之外时,它需要“切换”到其他功能,如果鼠标移回应用程序窗口,再次回到标准拖放

感谢您的帮助!

霍尔格

3 个答案:

答案 0 :(得分:5)

你提到的Drag and Drop Component Suite就是这样做的。您可以启动拖拽,默认情况下您可以将其拖放到自己的应用或其他应用中。只需选择其他应用程序理解的正确剪贴板格式。你有什么问题?

答案 1 :(得分:2)

如果你想要VCL风格和Windows风格的拖放,那么就可以使用Windows风格的一切,包括在你自己的应用程序中拖放。

答案 2 :(得分:0)

DropMaster组件可能对此有所帮助 - 请参阅http://www.raize.com/DevTools/DropMaster/