處理搖桿訊息
下列範例說明應用程式如何回應搖桿移動和按鈕狀態的變更。 搖桿變更位置時,應用程式會移動游標,如果按下任一按鈕,則會在桌面上繪製專案符號孔。 按下游戲杆按鈕時,應用程式會在桌面上繪製一個孔,並持續播放音效,直到按鈕放開為止。 要watch的訊息MM_JOY1MOVE、MM_JOY1BUTTONDOWN和MM_JOY1BUTTONUP。
case MM_JOY1MOVE : // changed position
if((UINT) wParam & (JOY_BUTTON1 | JOY_BUTTON2))
DrawFire(hWnd);
DrawSight(lParam); // calculates new cursor position
break;
case MM_JOY1BUTTONDOWN : // button is down
if((UINT) wParam & JOY_BUTTON1)
{
PlaySound(lpButton1, SND_LOOP | SND_ASYNC | SND_MEMORY);
DrawFire(hWnd);
}
else if((UINT) wParam & JOY_BUTTON2)
{
PlaySound(lpButton2, SND_ASYNC | SND_MEMORY | SND_LOOP);
DrawFire(hWnd);
}
break;
case MM_JOY1BUTTONUP : // button is up
sndPlaySound(NULL, 0); // stops the sound
break;