在C++上的两个MFC树列表之间拖放



我需要拖动&将项目从一个TreeList拖放到另一个ThreeList,但在同一个TreeList中只能找到制作该项目的教程。有人能帮上忙吗?我还感兴趣的是,如何将文件或文件夹从文件系统(窗口资源管理器)拖放到TreeList?我正在使用MFC C++。谢谢

在不省略所有MFC问题的强制性真实答案的情况下(即"除非是1997年,否则不要使用MFC"),OLE拖动&drop将帮助你实现这两个目标。

虽然我现在手头没有微软风投,但这个例子似乎相当彻底。。。具有移动、复制和滚动功能:

http://www.ucancode.net/CPP_Library_Control_Tool/OLE-DRAG-DROP-TREE-Control-CTreeCtrl-VC-Article.htm

你可以以此为基础。但是,如果要从Windows资源管理器进行访问,请在OnDragEnter()OnDragOver()方法中添加一个额外的检查,看看CF_HDROP数据是否可用:

if (pDataObject->IsDataAvailable(CF_HDROP)) {
   /* Extract the DROPFILES data out of the pDataObject */
}

本文详细介绍了如何从古怪的DROPFILES OLE结构中获得文件名列表

http://www.codeproject.com/Articles/840/How-to-Implement-Drag-and-Drop-Between-Your-Progra


相比之下,如果你想看一些设计不太好的东西,可以看看Qt Drag&跌落样品:

http://doc.qt.nokia.com/4.7-snapshot/dnd.html#examples

相关内容

  • 没有找到相关文章

最新更新