为什么没有调用OnDragEnter?

时间:2010-03-11 05:56:03

标签: c++ visual-c++

我已将COleDropTarget变量添加到我的视图类中,并将其注册在OnCreate()中,该OnCreate()在启动时被调用。我添加了OnDragEnter和OnDrop虚拟函数(不是其他函数,如OnDragLeave)。但是当我将一段文字拖放(或放下)时,它们不会被调用。

我刚刚想到我已经将dropfiles函数实现到同一个窗口这一事实。这会阻止文字拖动吗?

我还需要什么?

TIA,

哈维

1 个答案:

答案 0 :(得分:0)

解决:

在使用F1获取OnDrop和其他的语法时,MSDN给了我:

virtual BOOL OnDrop(
   CWnd* pWnd,
   COleDataObject* pDataObject,
   DROPEFFECT dropEffect,
   CPoint point 
);

但是正确的虚函数没有第一个参数,应该是:

virtual BOOL OnDrop(
   COleDataObject* pDataObject,
   DROPEFFECT dropEffect,
   CPoint point 
);

与其他人相同。所以我从来没有真正覆盖默认函数。