JoyGetPosEx: Unterschied zwischen den Versionen
Zeile 3: | Zeile 3: | ||
Diese Funktion fragt die Position eines Joysticks ab und gibt diese zurück. Es können außerdem weitere Werte abgefragt werden. | Diese Funktion fragt die Position eines Joysticks ab und gibt diese zurück. Es können außerdem weitere Werte abgefragt werden. | ||
− | <vb>Declare Function joyGetPosEx Lib "winmm.dll" ( _ | + | <<syntaxhighlight lang="vb">>Declare Function joyGetPosEx Lib "winmm.dll" ( _ |
ByVal uJoyID As Long, _ | ByVal uJoyID As Long, _ | ||
− | ByRef pji As JOYINFOEX) As Long</vb> | + | ByRef pji As JOYINFOEX) As Long</<syntaxhighlight lang="vb">> |
==Parameter== | ==Parameter== | ||
Zeile 12: | Zeile 12: | ||
:Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich: | :Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich: | ||
− | <vb>Const JOYSTICKID1 = 0 | + | <<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0 |
− | Const JOYSTICKID2 = 1</vb> | + | Const JOYSTICKID2 = 1</<syntaxhighlight lang="vb">> |
:Auf neueren Systemen sind Werte zwischen | :Auf neueren Systemen sind Werte zwischen | ||
− | <vb>Const JOYSTICKID1 = 0</vb> | + | <<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0</<syntaxhighlight lang="vb">> |
:und | :und | ||
− | <vb>Const JOYSTICKID16 = 15</vb> | + | <<syntaxhighlight lang="vb">>Const JOYSTICKID16 = 15</<syntaxhighlight lang="vb">> |
:möglich. | :möglich. | ||
Zeile 28: | Zeile 28: | ||
Die joyGetPosEx-Funktion gibt JOYERR_NOERROR = 0 zurück, wenn der Aufruf erfolgreich war. Mögliche andere Rückgabewerte sind: | Die joyGetPosEx-Funktion gibt JOYERR_NOERROR = 0 zurück, wenn der Aufruf erfolgreich war. Mögliche andere Rückgabewerte sind: | ||
− | <vb>Const MMSYSERR_BASE = 0 | + | <<syntaxhighlight lang="vb">>Const MMSYSERR_BASE = 0 |
Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2) | Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2) | ||
Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6) | Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6) | ||
Zeile 34: | Zeile 34: | ||
Const JOYERR_BASE = 160 | Const JOYERR_BASE = 160 | ||
Const JOYERR_PARMS = (JOYERR_BASE + 5) | Const JOYERR_PARMS = (JOYERR_BASE + 5) | ||
− | Const JOYERR_UNPLUGGED = (JOYERR_BASE + 7)</vb> | + | Const JOYERR_UNPLUGGED = (JOYERR_BASE + 7)</<syntaxhighlight lang="vb">> |
==Sonstige Hinweise== | ==Sonstige Hinweise== | ||
Zeile 43: | Zeile 43: | ||
==Beispiel== | ==Beispiel== | ||
− | <vb>Dim JIE As JOYINFOEX | + | <<syntaxhighlight lang="vb">>Dim JIE As JOYINFOEX |
JIE.dwSize = Len(JIE) | JIE.dwSize = Len(JIE) | ||
Zeile 52: | Zeile 52: | ||
If ret <> JOYERR_NOERROR Then | If ret <> JOYERR_NOERROR Then | ||
' Fehler beim Aufruf | ' Fehler beim Aufruf | ||
− | End If</vb> | + | End If</<syntaxhighlight lang="vb">> |
Der Wert für JOY_RETURNALL ist bei [[JOYINFOEX]] unter dwFlags zu finden. | Der Wert für JOY_RETURNALL ist bei [[JOYINFOEX]] unter dwFlags zu finden. |
Version vom 5. November 2016, 22:10 Uhr
Diese Funktion fragt die Position eines Joysticks ab und gibt diese zurück. Es können außerdem weitere Werte abgefragt werden.
<<syntaxhighlight lang="vb">>Declare Function joyGetPosEx Lib "winmm.dll" ( _
ByVal uJoyID As Long, _ ByRef pji As JOYINFOEX) As Long</<syntaxhighlight lang="vb">>
Parameter
uJoyID [Übergabe]
- Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich:
<<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0 Const JOYSTICKID2 = 1</<syntaxhighlight lang="vb">>
- Auf neueren Systemen sind Werte zwischen
<<syntaxhighlight lang="vb">>Const JOYSTICKID1 = 0</<syntaxhighlight lang="vb">>
- und
<<syntaxhighlight lang="vb">>Const JOYSTICKID16 = 15</<syntaxhighlight lang="vb">>
- möglich.
pji [Übergabe]
- Ein Zeiger auf eine JOYINFOEX-Struktur, die die ermittelten Werte erhält.
Rückgabewert(e)
Die joyGetPosEx-Funktion gibt JOYERR_NOERROR = 0 zurück, wenn der Aufruf erfolgreich war. Mögliche andere Rückgabewerte sind:
<<syntaxhighlight lang="vb">>Const MMSYSERR_BASE = 0 Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE + 2) Const MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6) Const MMSYSERR_INVALPARAM = (MMSYSERR_BASE + 11) Const JOYERR_BASE = 160 Const JOYERR_PARMS = (JOYERR_BASE + 5) Const JOYERR_UNPLUGGED = (JOYERR_BASE + 7)</<syntaxhighlight lang="vb">>
Sonstige Hinweise
Die Werte dwFlags und dwSize der JOYINFOEX-Struktur müssen zugewiesen werden, ansonsten wird joyGetPosEx versagen.
Die joyGetPosEx-Funktion lohnt nur für Joysticks mit mehr als drei Achsen und/oder mehr als vier Knöpfen. Wenn Informationen über 3 Achsen und 4 Knöpfe hinreichend sind, empfiehlt sich die joyGetPos-Funktion.
Beispiel
<<syntaxhighlight lang="vb">>Dim JIE As JOYINFOEX
JIE.dwSize = Len(JIE) JIE.dwFlags = JOY_RETURNALL
ret = joyGetPOS(JOYSTICKID1, JIE)
If ret <> JOYERR_NOERROR Then
' Fehler beim Aufruf
End If</<syntaxhighlight lang="vb">>
Der Wert für JOY_RETURNALL ist bei JOYINFOEX unter dwFlags zu finden.
Verwandte Funktionen
- joyConfigChanged - Weist den Joystick-Treiber an, geänderte Informationen zu aktualisieren
- joyGetDevCaps - Fragt Informationen über den Joystick ab
- joyGetNumDevs - Gibt die Anzahl unterstützter Joysticks zurück
- joyGetPos - Fragt die Positionsdaten eines Joysticks ab
- joyGetPosEx - Fragt die Positionsdaten eines Joysticks ab
- joyGetThreshold - Gibt die Bewegunsschwelle zurück, ab der Nachrichten an Fenster geschickt werden, die ein Capture auf den Joystick haben
- joyReleaseCapture - Gibt ein Capture auf einen Joystick wieder frei
- joySetCapture - Setzt ein Capture auf einen Joystick, sodass Informationen per Fenster-Nachricht empfangen werden
- joySetThreshold - Setzt die Bewegungsschelle eines Joysticks, ab der Nachrichten an Fenster geschickt werden, die ein Capture auf den Joystick haben
Verweise
Quellen
MSDN Library - joyGetPosEx
freepascal.org - Reference for unit 'mmsystem': Constants