共用方式為


處理搖桿訊息

下列範例說明應用程式如何回應搖桿移動和按鈕狀態的變更。 搖桿變更位置時,應用程式會移動游標,如果按下任一按鈕,則會在桌面上繪製專案符號孔。 按下游戲杆按鈕時,應用程式會在桌面上繪製一個孔,並持續播放音效,直到按鈕放開為止。 要watch的訊息MM_JOY1MOVE、MM_JOY1BUTTONDOWNMM_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;