我正在尝试将拖放文本添加到我的 Doc-View 应用程序中。我将 COleDropTarget 变量添加到 View 类中,并在 OnCreate() 中注册了它。我将 OnDragEnter()、OnDragOver()、OnDragLeave() 和 OnDrop() 作为虚拟覆盖添加到该类中,但它们都没有被调用。我之前添加了 m_pMainWnd->DragAcceptFiles(TRUE);到我的应用程序类。我尝试注释掉该语句,但没有影响。

我尝试使用 Spy++ 查看我拖动时消息的去向,但是当我在应用程序中拖动文本时,它根本没有记录任何内容。

我需要什么?或者我还能尝试什么来缩小问题的范围?

TIA,

哈维

最佳答案

解决了:

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

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

但是正确的虚函数没有第一个参数,应该是:
virtual BOOL OnDrop(
   COleDataObject* pDataObject,
   DROPEFFECT dropEffect,
   CPoint point
);

和其他人一样。所以我从来没有真正覆盖默认功能。

10-07 15:10