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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在应用程序内拖放/到另一个应用程序相关的知识,希望对你有一定的参考价值。

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

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

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

谢谢你的帮助!

霍尔格

答案

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

另一答案

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

另一答案

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

以上是关于在应用程序内拖放/到另一个应用程序的主要内容,如果未能解决你的问题,请参考以下文章

用拖放反应大日历

WinAppDriver中的拖放不起作用

使用核心数据存储对 NSTableView 的拖放支持

使用cdkDropList时元素样式不适用(Angluar cdk拖放)

使用 cdkDropList 时元素样式不适用(角度 cdk 拖放)

在 QListWidget 之间拖放自定义小部件项目