0

我需要检测我的应用程序中的另一个应用程序/窗口何时粘贴在我之前设置的数据上,以便我可以将其从源窗口中删除。我发现COleDataSource::DelaySetData 理论上会这样做,并且COleDataSource::OnSetData会在粘贴发生时被调用,但我不能确定。MSDN(通常)对此事含糊不清,并没有明确说明一种或另一种方式。我将使用自定义格式,而 watever 格式是用于剪切/粘贴文件的资源管理器。所以问题是如何准确(不是理论上)做到这一点。当且仅当它们被粘贴到其他地方时,我真的需要从我的窗口中删除这些项目。

4

1 回答 1

0

你做错了。当您剪切某些内容时,它应该立即被删除,如果需要恢复,您应该提供撤消功能。

剪贴板不是为双向信号设计的。DelaySetData 适用于以不同格式提交大量数据的应用程序,因此它们只需要提供接收方所需的格式;使用它来检测何时发生粘贴依赖于副作用。有些剪贴板管理器可能会导致此操作失败。

于 2011-04-14T14:56:29.607 回答