拖放:自定义
拖放功能的默认实现适用于大多数应用程序就足够了。 但是,某些应用程序可能需要更改此标准行为。 本文说明必需的步骤来更改这些默认设置。 此外,您可以使用该技术建立不支持多文档作为放置源的应用程序。
如果自定义标准 OLE 拖放行为,或者您有一个非 OLE 应用程序,必须创建 COleDataSource 对象包含数据。 当用户启动拖放操作时,代码应调用从该对象的 DoDragDrop 功能而不是从支持拖放操作的其他类。
或者,您可以创建 COleDropSource 对象控制放置并根据要更改的行为特质重写一些功能。 此放置源对象随后传递给 COleDataSource::DoDragDrop 更改这些功能默认行为。 这些不同的选项卡在如何的灵活性支持在应用程序的拖放操作。 有关数据源的更多信息,请参见中的文章 数据对象和数据源 (OLE)。
您可以重写以下功能自定义拖放操作:
重写 |
自定义 |
---|---|
OnBeginDrag |
如何启动拖动时,在调用 DoDragDrop之后。 |
GiveFeedback |
可视反馈,例如光标外观,不同的放置结果。 |
QueryContinueDrag |
拖放操作的终止。 此功能使您可以在拖动操作时检查修改键状态。 |