Joystick-üzenetek feldolgozása
[A laphoz társított funkció, Joysticksegy régi funkció. A Windows.Gaming.Input névtérlecserélte. Windows.Gaming.Input Namespace Windows 10-hez és Windows 11-hez lett optimalizálva. A Microsoft határozottan javasolja, hogy az új kódban a Windows.Gaming.Input Namespace használják a Joystickokhelyett, ha lehetséges. A Microsoft javasolja, hogy az örökölt API-kat használó meglévő kódot át kell írni az új API-k használatára, ha lehetséges.]
Az alábbi példa bemutatja, hogyan reagálhat egy alkalmazás a joystick mozgására és a gombállapotok változásaira. Amikor a joystick pozíciója megváltozik, az alkalmazás mozgatja a kurzort, és ha bármelyik gombot lenyomja, golyólyukat rajzol az asztalon. A joystick gomb megnyomásakor az alkalmazás lyukat rajzol az asztalra, és folyamatosan hangjelzést ad le, amíg el nem hangzik egy gomb. A figyelendő üzenetek MM_JOY1MOVE, MM_JOY1BUTTONDOWNés 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;