Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在编写一个 MFC 应用程序。
我想将文件从CListCtrl我的应用程序中拖到 Windows 资源管理器中。
CListCtrl
怎么做?
您需要连接LVN_BEGINDRAG以检测拖放的开始,然后使用填充了文件信息DoDragDrop的基于数据源进行调用(最容易处理的格式是)。Windows shell 处理其他一切。IDataObjectCF_HDROP
LVN_BEGINDRAG
DoDragDrop
IDataObject
CF_HDROP
幸运的是,在 MFC 课程中已经为您完成了很多腿部工作COleDataSource。还有一些很好的例子:
COleDataSource
代码项目 - 如何在您的程序和资源管理器之间实现拖放
MSDN - 使用拖放和剪贴板传输外壳对象
您需要OnDrop()在CListCtrl派生类中重写并提供COleDataSource.
OnDrop()