2010-03-04 136 views
0

我有一个应用程序,并希望在其中放置一个文件。我使用了COleDropTarget类并从中派生出来。在我的OnCreate方法的CMainFrame类中注册它。这返回true。拖放问题

当OnDrop被称为pDataObject->GetFileData(CF_TEXT);甚至pDataObject->IsDataAvailable(CF_TEXT)返回0

有人能告诉我为什么吗?

感谢

回答

1

删除一个文件不具有数据类型CF_TEXT但CF_HDROP。 你必须检查它,然后从CF_HDROP结构中提取文件路径。

要从CF_HDROP结构获取路径,请使用DragQueryFile API。

+0

感谢您的回答。 我做了你所说的和IsDataAvailable返回1.那很好。 但是,我如何从CF_HDROP提取数据? (因为它在winuser.h中定义为15而不是结构) 并且在此之后CFile * file = pDataObject-> GetFileData(CF_HDROP); file-> m_strFileName的值为“” – user286207 2010-03-05 12:40:25

+0

编辑我的回答,提示有关DragQueryFile – Stefan 2010-03-06 09:05:01