2012-05-05 60 views
0

我在MFC上使用Stingray目標視圖進行畫布編輯應用程序。我最近開始有一個奇怪的問題,其中控制鍵設置被清除以進行拖放複製操作(也就是說,如果我在畫布上有一個對象,並且在移動時按住CTRL鍵,它應該創建一個副本而不是移動原始對象)。MK_CONTROL標誌在拖動複製操作過程中被清除

奇怪的是我發現如果我在COleDropTarget :: XDropTarget :: DragOver的開始處放置一個斷點,那麼我可以看到MK_CONTROL標誌總是爲dwKeyState參數設置的,並且拖放複製工作正常。但是,如果沒有斷點,那麼通常不設置MK_CONTROL標誌,即使我按住CTRL鍵。

有誰知道什麼可能會導致這個問題?

感謝, 凱文

回答

0

我不使用黃貂魚的軟件,但。 。 。

問題: 以前工作嗎? 你怎麼知道國旗沒有設置? 如果它設置了斷點,它應該在同一個內存位置設置爲沒有斷點。

如果您確定它已被清除,它必須在斷點後清除。 如果它在之前工作並停止(假設您運行的是相同版本的代碼),最有可能的罪魁禍首不是您的應用程序。

如果它在收費後停止工作,則代碼中最有可能的更改會導致此問題;它可能是你的代碼或黃貂魚部分的某種錯誤。 你已經提到使用COleDropTarget。如果您有黃貂魚源,請查看它是否包含任何拖放自定義。

+0

>問題:之前工作嗎? ...是的,當我最初編寫代碼時,我花了幾個星期的時間研究它,並從未遇到過這個問題。 – Kevin

+0

>你怎麼知道國旗沒有設置? ...當我刪除斷點(稱爲斷點A)時,我可以在代碼中的另一個地方設置另一個斷點(稱爲斷點B),只有在未設置標誌時纔會觸發它。 – Kevin

+0

>如果它是用斷點設置的,它應該在同一個存儲單元中設置爲沒有斷點。 ...這是我所期望的,但並非如此。也許某種多線程問題? – Kevin