拖放:自定义

拖放功能的默认实现适用于大多数应用程序就足够了。但是,某些应用程序可能需要更改此标准行为。本文说明必需的步骤来更改这些默认设置。此外,您可以使用该技术建立不支持多文档作为放置源的应用程序。

如果自定义标准 OLE 拖放行为,或者您有一个非 OLE 应用程序,必须创建 COleDataSource 对象包含数据。当用户启动拖放操作时,代码应调用从该对象的 DoDragDrop 功能而不是从支持拖放操作的其他类。

或者,您可以创建 COleDropSource 对象控制放置并根据要更改的行为特质重写一些功能。此放置源对象随后传递给 COleDataSource::DoDragDrop 更改这些功能默认行为。这些不同的选项卡在如何的灵活性支持在应用程序的拖放操作。有关数据源的更多信息,请参见中的文章 数据对象和数据源 (OLE)

您可以重写以下功能自定义拖放操作:

重写

自定义

OnBeginDrag

如何启动拖动时,在调用 DoDragDrop之后。

GiveFeedback

可视反馈,例如光标外观,不同的放置结果。

QueryContinueDrag

拖放操作的终止。此功能使您可以在拖动操作时检查修改键状态。

请参见

参考

COleDropSource 类

COleDataSource 类

概念

拖放(OLE)