2013-04-30 82 views
0

//我想在我的衝刺BORD改變齒輪,但目前還沒有出來,但這些鍵的Shift + Numpad1鍵不起作用?

if(pMsg->wParam==VK_SHIFT && pMsg->wParam==VK_NUMPAD1) 
{ 
    m_name.SetVariable("gear","1"); 
} 
+0

在你的代碼中,你是否真的使用wParam進行兩項檢查,還是這是一個錯字? – zenzelezz 2013-04-30 11:21:46

+0

表達式(pMsg-> wParam == VK_SHIFT && pMsg-> wParam == VK_NUMPAD1)始終爲false。 – 2013-04-30 11:45:02

回答

1

表達(pMsg->的wParam == VK_SHIFT & & pMsg->的wParam == VK_NUMPAD1)總是假的。

試試這個:

if ((pMsg->wParam == VK_NUMPAD1) && (GetKeyState(VK_SHIFT) & 0x80) != 0)) 
{ 
    m_name.SetVariable("gear","1"); 
} 

您也可以考慮使用一個accelerator table代替。

+0

確實wParam只能是一個鍵。建議的解決方案是要走的路。 – 2013-04-30 11:58:04