JOYINFOEX

Aus API-Wiki
Wechseln zu: Navigation, Suche

<vb>Public Type JOYINFOEX

  dwSize As Long 
  dwFlags As Long 
  dwXpos As Long 
  dwYpos As Long 
  dwZpos As Long 
  dwRpos As Long 
  dwUpos As Long 
  dwVpos As Long 
  dwButtons As Long 
  dwButtonNumber As Long 
  dwPOV As Long 
  dwReserved1 As Long 
  dwReserved2 As Long 

End Type</vb>

dwSize

Die korrekte Länge der Struktur, wird üblicherweise per Len() angegeben:

<vb>JIE.dwSize = Len(JIE)</vb>

dwFlags

Auflistung der abzufragenden Werte. Möglich sind:

<vb>Const JOY_RETURNALL = (JOY_RETURNX Or JOY_RETURNY Or JOY_RETURNZ Or JOY_RETURNR Or JOY_RETURNU Or JOY_RETURNV Or JOY_RETURNPOV Or JOY_RETURNBUTTONS) Const JOY_RETURNBUTTONS = 128 Const JOY_RETURNCENTERED = 1024 Const JOY_RETURNPOV = 64 Const JOY_RETURNPOVCTS = 512 Const JOY_RETURNRAWDATA = 256 Const JOY_RETURNX = 1 Const JOY_RETURNY = 2 Const JOY_RETURNZ = 4 Const JOY_RETURNR = 8 Const JOY_RETURNU = 16 Const JOY_RETURNV = 32 Const JOY_USEDEADZONE = 2048</vb>

Weiterhin sind noch Flags mit dem Namen JOY_CAL_* möglich, die allerdings nur für spezielle Programme zum Kalibrieren des Joysticks vorgesehen sind. Diese Flags können in der MSDN eingesehen werden.

dwXPos

Die momentane X-Position des Joysticks

dwYPos

Die momentane Y-Position des Joysticks

dwZPos

Die momentane Z-Position des Joysticks

dwRPos

Die momentane R-Position (vierte Achse) des Joysticks

dwUPos

Die momentane U-Position (fünfte Achse) des Joysticks

dwVPos

Die momentane V-Position (sechste Achse) des Joysticks

dwButtons

Auflistung der Zustände von bis zu 32 Knöpfen auf dem Joystick. Durch einen Abgleich mit JOY_BUTTONn mit

<vb>Const JOY_BUTTONn = 2 ^ (n - 1)</vb>

lässt sich abfragen, welcher Knopf gedrückt ist:

<vb>Const JOY_BUTTON1 = 1 ' 2 ^ (1 - 1) = 1 Const JOY_BUTTON2 = 2 ' 2 ^ (2 - 1) = 2 Const JOY_BUTTON3 = 4 ' 2 ^ (3 - 1) = 4 Const JOY_BUTTON4 = 8 ' 2 ^ (4 - 1) = 8

If (JIE.dwButtons And JOY_BUTTON1) <> 0 Then

  ' Knopf 1 ist gedrückt

End If</vb>

dwButtonNumber

Die Anzahl momentan gedrückter Knöpfe

dwPOV

Momentaner Zustand des Point-Of-View-Elements. Der Wert von dwPOV rangiert zwischen 0 und 35.900 und repräsentiert den aktuellen Winkel multipliziert mit 100, der aktuelle Winkel lässt sich also folgendermaßen bestimmen:

<vb>Dim POVAngle As Double

POVAngle = CDbl(JIE.dwPOV / 100)</vb>

dwReserved1

Reservierter Speicher in der Struktur. Darf nicht verwendet werden.

dwReserved2

Reservierter Speicher in der Struktur. Darf nicht verwendet werden.

Quellen

MSDN Library - JOYINFOEX

freepascal.org - Reference for unit 'mmsystem': Constants