JoyGetPosEx: Unterschied zwischen den Versionen
K (→Parameter) |
K |
||
Zeile 5: | Zeile 5: | ||
<vb>Declare Function joyGetPosEx Lib "winmm.dll" ( _ | <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</vb> |
− | </vb> | ||
==Parameter== | ==Parameter== | ||
Zeile 45: | Zeile 44: | ||
<vb>Dim JIE As JOYINFOEX | <vb>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</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 13. Mai 2008, 15:24 Uhr
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" ( _
ByVal uJoyID As Long, _ ByRef pji As JOYINFOEX) As Long</vb>
Parameter
uJoyID [Übergabe]
- Eine Nummer, die den abzufragenden Joystick bestimmt. Unter Windows NT 4.0 sind folgenden Werte möglich:
<vb>Const JOYSTICKID1 = 0 Const JOYSTICKID2 = 1</vb>
- Auf neueren Systemen sind Werte zwischen
<vb>Const JOYSTICKID1 = 0</vb>
- und
<vb>Const JOYSTICKID16 = 15</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:
<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)</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
<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</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