典型的Win32文件删除(IDropTarget :: Drop)实现?

时间:2011-05-27 05:07:54

标签: c++ winapi drag-and-drop

我正在尝试在没有MFC的情况下在C ++中创建类似Windows资源管理器的程序。

它有一个列表视图,显示文件系统目录和文件。

我想为列表视图添加放置目标功能

所以我实现了IDropTarget接口并注册了hwnd。

使用IDropTargetHelper,我只是实现了所需的拖放效果 在DragEnter,DragOver,DragLeave方法中。

但是在Drop方法中,dropTargetHelper很无奈。

我的列表视图只接受文件丢弃。

我应该为自己实现删除文件的COPY,MOVE,LINK操作吗?

OR是否有一个简单的shell文件操作助手,它接受丢弃的IDataObject?


编辑:

我知道如何从被删除的对象中获取文件名,只是文件复制很容易。

但我认为可能需要考虑更多的事情:例如,制作文件链接,源项目是虚拟的等等。

所以我想知道Windows shell中是否有可用的辅助方法。

1 个答案:

答案 0 :(得分:2)

教科书示例将来自MSDN。请阅读Old New Thing articles 12