拖放文字 - 我错过了什么?

时间:2010-03-12 21:46:54

标签: c++ windows com mfc drag-and-drop

我正在尝试将拖放文本添加到我的Doc-View应用程序中。我将COleDropTarget变量添加到视图类,在OnCreate()中注册它。我将OnDragEnter(),OnDragOver(),OnDragLeave()和OnDrop()添加到该类作为虚拟覆盖,但它们都没有被调用。我之前添加了m_pMainWnd-> DragAcceptFiles(TRUE);到我的App课程。我试着评论这个陈述,但没有影响。

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

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

TIA,

哈维

1 个答案:

答案 0 :(得分:1)

解决:

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

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

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

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

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