JOYINFOEX: Unterschied zwischen den Versionen

Aus API-Wiki
Wechseln zu: Navigation, Suche
Zeile 1: Zeile 1:
 
__NOTOC__
 
__NOTOC__
<vb>Public Type JOYINFOEX
+
<<syntaxhighlight lang="vb">>Public Type JOYINFOEX
 
   dwSize As Long  
 
   dwSize As Long  
 
   dwFlags As Long  
 
   dwFlags As Long  
Zeile 14: Zeile 14:
 
   dwReserved1 As Long  
 
   dwReserved1 As Long  
 
   dwReserved2 As Long  
 
   dwReserved2 As Long  
End Type</vb>
+
End Type</<syntaxhighlight lang="vb">>
  
 
''dwSize''
 
''dwSize''
 
:Die korrekte Länge der Struktur, wird üblicherweise per Len() angegeben:
 
:Die korrekte Länge der Struktur, wird üblicherweise per Len() angegeben:
<vb>JIE.dwSize = Len(JIE)</vb>
+
<<syntaxhighlight lang="vb">>JIE.dwSize = Len(JIE)</<syntaxhighlight lang="vb">>
  
 
''dwFlags''
 
''dwFlags''
 
:Auflistung der abzufragenden Werte. Möglich sind:
 
: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)
+
<<syntaxhighlight lang="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_RETURNBUTTONS = 128
 
Const JOY_RETURNCENTERED = 1024
 
Const JOY_RETURNCENTERED = 1024
Zeile 35: Zeile 35:
 
Const JOY_RETURNU = 16
 
Const JOY_RETURNU = 16
 
Const JOY_RETURNV = 32
 
Const JOY_RETURNV = 32
Const JOY_USEDEADZONE = 2048</vb>
+
Const JOY_USEDEADZONE = 2048</<syntaxhighlight lang="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 [http://msdn.microsoft.com/en-us/library/ms709358(VS.85).aspx MSDN] eingesehen werden.
 
: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 [http://msdn.microsoft.com/en-us/library/ms709358(VS.85).aspx MSDN] eingesehen werden.
  
Zeile 59: Zeile 59:
 
:Auflistung der Zustände von bis zu 32 Knöpfen auf dem Joystick. Durch einen Abgleich mit JOY_BUTTONn mit
 
: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>
+
<<syntaxhighlight lang="vb">>Const JOY_BUTTONn = 2 ^ (n - 1)</<syntaxhighlight lang="vb">>
  
 
lässt sich abfragen, welcher Knopf gedrückt ist:
 
lässt sich abfragen, welcher Knopf gedrückt ist:
  
<vb>Const JOY_BUTTON1 = 1 ' 2 ^ (1 - 1) = 1
+
<<syntaxhighlight lang="vb">>Const JOY_BUTTON1 = 1 ' 2 ^ (1 - 1) = 1
 
Const JOY_BUTTON2 = 2 ' 2 ^ (2 - 1) = 2
 
Const JOY_BUTTON2 = 2 ' 2 ^ (2 - 1) = 2
 
Const JOY_BUTTON3 = 4 ' 2 ^ (3 - 1) = 4
 
Const JOY_BUTTON3 = 4 ' 2 ^ (3 - 1) = 4
Zeile 70: Zeile 70:
 
If (JIE.dwButtons And JOY_BUTTON1) <> 0 Then
 
If (JIE.dwButtons And JOY_BUTTON1) <> 0 Then
 
   ' Knopf 1 ist gedrückt
 
   ' Knopf 1 ist gedrückt
End If</vb>
+
End If</<syntaxhighlight lang="vb">>
  
 
''dwButtonNumber''
 
''dwButtonNumber''
Zeile 78: Zeile 78:
 
: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:
 
: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
+
<<syntaxhighlight lang="vb">>Dim POVAngle As Double
  
POVAngle = CDbl(JIE.dwPOV / 100)</vb>
+
POVAngle = CDbl(JIE.dwPOV / 100)</<syntaxhighlight lang="vb">>
  
 
''dwReserved1''
 
''dwReserved1''

Version vom 5. November 2016, 23:10 Uhr

<<syntaxhighlight lang="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</<syntaxhighlight lang="vb">>

dwSize

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

<<syntaxhighlight lang="vb">>JIE.dwSize = Len(JIE)</<syntaxhighlight lang="vb">>

dwFlags

Auflistung der abzufragenden Werte. Möglich sind:

<<syntaxhighlight lang="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</<syntaxhighlight lang="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

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

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

<<syntaxhighlight lang="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</<syntaxhighlight lang="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:

<<syntaxhighlight lang="vb">>Dim POVAngle As Double

POVAngle = CDbl(JIE.dwPOV / 100)</<syntaxhighlight lang="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