2011-04-01 44 views
1

我有一個直接的x C++遊戲。當遊戲初始化時,我使用我自己的鼠標圖標並捕獲鼠標和鍵盤,但問題是如果我最小化遊戲並選擇另一個窗口,例如,當我回到我的遊戲屏幕時跳過歌曲媒體播放器,鼠標沒有更長的作品。direct x mouse recapturing problem

據我瞭解,我需要重新捕獲鼠標處理程序,每當應用程序獲得焦點,但我如何做到這一點。

我可以簡單地使用相同的鼠標代碼從初始化,如果是的話,我把它放在應用程序重新獲得焦點時使它運行。我的遊戲在窗口模式和全屏模式下運行,這會有所作爲。

謝謝

回答

0

首先,我會建議使用Windows光標API,而不是繪製鼠標自己。它會更加快速響應(不會受到低fps等的影響),而且處理起來更容易。您也可以使用動畫光標。

爲了捕獲鼠標,您只能在按住鼠標按鈕的情況下捕捉鼠標。如果沒有按鈕被按下並且鼠標移動到應用程序窗口之外,則失去捕捉。

爲什麼你甚至需要捕捉鼠標?當鼠標未被捕獲時,您將獲得WM_MOUSEMOVE消息等。

+0

這一點,如果我離開我的應用程序,並返回我不再獲得WM_MOUSEMOVE消息,就像沒有鼠標 – Skeith 2011-04-01 12:02:09

+0

那麼你的應用程序中一定有問題。沒有更多的信息,我無法說出可能導致它的原因。 – Thalur 2011-04-01 12:32:10