2010-03-12 142 views
4

我想將拖放文本添加到我的文檔視圖應用程序。我將COleDropTarget變量添加到視圖類中,並在OnCreate()中註冊它。我添加了OnDragEnter(),OnDragOver(),OnDragLeave()和OnDrop()作爲虛擬覆蓋的類,但是他們都沒有被調用過。我以前已經添加了m_pMainWnd-> DragAcceptFiles(TRUE);到我的應用程序類。我試圖評論這一聲明,但沒有影響。拖放文本 - 我錯過了什麼?

我嘗試使用Spy ++來查看消息的位置,而我做了一個拖動,但是它在應用程序中拖動文本時沒有記錄任何內容。

我需要什麼?還有什麼我可以嘗試,以縮小問題?

TIA,

哈維

回答

1

解決:

在使用F1以獲取OnDrop和其他的語法,MSDN給了我:

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

但正確的虛擬功能沒有第一個參數,應該是:

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

和其他人一樣。所以我從來沒有實際覆蓋默認功能。