如何解决检测何时将剪切的数据粘贴到MFC COleDataSource VS2008中
| 我需要检测应用程序中的其他应用程序/窗口何时确实粘贴到了先前设置的数据上,因此可以将其从源窗口中删除。我发现从理论上讲,COleDataSource::DelaySetData
是这样做的,当发生粘贴时COleDataSource::OnSetData
会被调用,但是我不确定。 MSDN(通常)对此事含糊不清,没有明确说明一种或另一种方式。我将使用自定义格式,而watever格式是资源管理器用于剪切/粘贴文件的方式。
因此,问题在于这究竟是如何做到的(理论上不是这样)。
当且仅当将它们粘贴到其他位置时,我才真正需要从窗口中删除它们。
解决方法
您做错了所有事情。剪切某些内容时,应立即将其删除,如果需要还原,则应提供撤消功能。
剪贴板不是为双向信令而设计的。 DelaySetData适用于以不同格式提交大量数据的应用程序,因此它们只需要提供接收方所需的格式即可;用它来检测糊状物何时出现依赖于副作用。有剪贴板管理器可能会使此操作失败。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。