JoyGetPosEx: Unterschied zwischen den Versionen
K |
|||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
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</ | + | ByRef pji As JOYINFOEX) As Long</syntaxhighlight> |
==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</ | + | Const JOYSTICKID2 = 1</syntaxhighlight> |
:Auf neueren Systemen sind Werte zwischen | :Auf neueren Systemen sind Werte zwischen | ||
− | <vb>Const JOYSTICKID1 = 0</ | + | <syntaxhighlight lang="vb">Const JOYSTICKID1 = 0</syntaxhighlight> |
:und | :und | ||
− | <vb>Const JOYSTICKID16 = 15</ | + | <syntaxhighlight lang="vb">Const JOYSTICKID16 = 15</syntaxhighlight> |
: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)</ | + | Const JOYERR_UNPLUGGED = (JOYERR_BASE + 7)</syntaxhighlight> |
==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</ | + | End If</syntaxhighlight> |
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. | ||
Zeile 78: | Zeile 78: | ||
[[Kategorie:Eingabegeräte]] | [[Kategorie:Eingabegeräte]] | ||
+ | [[Kategorie:Winmm]] | ||
+ | [[Kategorie:Funktionen]] | ||
+ | [[Kategorie:Joystick]] |
Aktuelle Version vom 5. November 2016, 23:47 Uhr
Diese Funktion fragt die Position eines Joysticks ab und gibt diese zurück. Es können außerdem weitere Werte abgefragt werden.
Declare Function joyGetPosEx Lib "winmm.dll" ( _
ByVal uJoyID As Long, _
ByRef pji As JOYINFOEX) As Long
Parameter
uJoyID [Übergabe]
- Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich:
Const JOYSTICKID1 = 0
Const JOYSTICKID2 = 1
- Auf neueren Systemen sind Werte zwischen
Const JOYSTICKID1 = 0
- und
Const JOYSTICKID16 = 15
- 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:
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)
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
Dim JIE As JOYINFOEX
JIE.dwSize = Len(JIE)
JIE.dwFlags = [[JOYINFOEX|JOY_RETURNALL]]
ret = joyGetPOS(JOYSTICKID1, JIE)
If ret <> JOYERR_NOERROR Then
' Fehler beim Aufruf
End If
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