Delphi 中的跨应用程序拖放

Posted

技术标签:

【中文标题】Delphi 中的跨应用程序拖放【英文标题】:Cross-application drag-and-drop in Delphi 【发布时间】:2010-09-22 15:43:49 【问题描述】:

我想为 Windows XP 创建一个 Delphi 应用程序,它允许从 Windows 资源管理器(桌面或文件夹窗口)或其他支持此操作的应用程序(例如 Total Commander)拖放文件。反之呢?当用户从我的应用程序中拖动图标时,我应该能够将拖动对象的内容设置为自定义数据。 我的目标是创建一个自定义应用程序工具栏,我可以将应用程序拖放到该工具栏上并显示它们的图标或从中拖动应用程序或其他实体。 如何做到这一点?

【问题讨论】:

【参考方案1】:

这可以通过The Drag and Drop Component Suite 完成。它也有你想要的例子。

【讨论】:

该网址目前无法使用。可能已经被 ***ed (en.wikipedia.org/wiki/Slashdot_effect),我稍后再试一次,因为它确实听起来很有趣! 这是一个非常慢的服务器,AFAICT。可能只是ADSL上行速率。拖放套件非常好,但尚未移植到 Delphi 2009。 组件似乎已更新为在 Delphi 2010 中工作,但在 Delphi XE2 中还没有。【参考方案2】:

Raymond Chen 有一系列关于拖放的精彩文章:

What a drag Archives | The Old New Thing What a drag: Dragging a virtual file (HGLOBAL edition) What a drag: Dragging a virtual file (IStorage edition) What a drag: Dragging a virtual file (IStream edition)

搜索拖放时,他的博客上还有很多其他的好文章。

【讨论】:

以上是关于Delphi 中的跨应用程序拖放的主要内容,如果未能解决你的问题,请参考以下文章

动画拖放自定义 Delphi 组件

Delphi 拖放文件编程(覆盖WM_DROPFILES消息)

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

delphi Drag and Drop sample 鼠标拖放操作实例

如何在delphi firemonkey中为floatanimation添加音效?

delphi cxgrid如何显示数据