次の方法で共有


ジョイスティック メッセージの処理

次の例は、アプリケーションがジョイスティックの動きとボタンの状態の変化にどのように応答できるかを示しています。 ジョイスティックの位置が変わると、アプリケーションはカーソルを移動し、いずれかのボタンが押された場合は、デスクトップに箇条書き穴を描画します。 ジョイスティック ボタンが押されると、アプリケーションはデスクトップに穴を開け、ボタンが離されるまで継続的にサウンドを再生します。 watchするメッセージは、MM_JOY1MOVEMM_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;