home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / joystat / joystick.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1995-05-02  |  13.9 KB  |  439 lines

  1. VERSION 2.00
  2. Begin Form JoyStatus_Form 
  3.    BorderStyle     =   1  'Fixed Single
  4.    Caption         =   "Joystick Status"
  5.    ClientHeight    =   5535
  6.    ClientLeft      =   2655
  7.    ClientTop       =   1410
  8.    ClientWidth     =   3015
  9.    Height          =   5940
  10.    Icon            =   JOYSTICK.FRX:0000
  11.    Left            =   2595
  12.    LinkTopic       =   "Form1"
  13.    MaxButton       =   0   'False
  14.    ScaleHeight     =   5535
  15.    ScaleWidth      =   3015
  16.    Top             =   1065
  17.    Width           =   3135
  18.    Begin Timer JoySample_Timer 
  19.       Interval        =   100
  20.       Left            =   0
  21.       Top             =   0
  22.    End
  23.    Begin ComboBox Joys_Combo 
  24.       Height          =   300
  25.       Left            =   2280
  26.       Style           =   2  'Dropdown List
  27.       TabIndex        =   2
  28.       Top             =   600
  29.       Width           =   615
  30.    End
  31.    Begin Label joyGetPos_Label 
  32.       Alignment       =   1  'Right Justify
  33.       BackColor       =   &H00808080&
  34.       BorderStyle     =   1  'Fixed Single
  35.       ForeColor       =   &H00FFFFFF&
  36.       Height          =   255
  37.       Left            =   2040
  38.       TabIndex        =   37
  39.       Top             =   4200
  40.       Width           =   855
  41.    End
  42.    Begin Label Label6 
  43.       Caption         =   "joyGetPos:"
  44.       Height          =   255
  45.       Left            =   120
  46.       TabIndex        =   36
  47.       Top             =   4200
  48.       Width           =   1320
  49.    End
  50.    Begin Label Label4 
  51.       Caption         =   "Information for Joystick:"
  52.       Height          =   255
  53.       Left            =   120
  54.       TabIndex        =   35
  55.       Top             =   600
  56.       Width           =   2055
  57.    End
  58.    Begin Label Label20 
  59.       Caption         =   "wButtons:"
  60.       Height          =   255
  61.       Left            =   120
  62.       TabIndex        =   34
  63.       Top             =   5160
  64.       Width           =   1320
  65.    End
  66.    Begin Label wButtons_Label 
  67.       Alignment       =   1  'Right Justify
  68.       BackColor       =   &H00808080&
  69.       BorderStyle     =   1  'Fixed Single
  70.       ForeColor       =   &H00FFFFFF&
  71.       Height          =   255
  72.       Left            =   2040
  73.       TabIndex        =   33
  74.       Top             =   5160
  75.       Width           =   855
  76.    End
  77.    Begin Label Label16 
  78.       Caption         =   "wZPos:"
  79.       Height          =   255
  80.       Left            =   120
  81.       TabIndex        =   32
  82.       Top             =   4920
  83.       Width           =   1320
  84.    End
  85.    Begin Label wZPos_Label 
  86.       Alignment       =   1  'Right Justify
  87.       BackColor       =   &H00808080&
  88.       BorderStyle     =   1  'Fixed Single
  89.       ForeColor       =   &H00FFFFFF&
  90.       Height          =   255
  91.       Left            =   2040
  92.       TabIndex        =   31
  93.       Top             =   4920
  94.       Width           =   855
  95.    End
  96.    Begin Label Label12 
  97.       Caption         =   "wYPos:"
  98.       Height          =   255
  99.       Left            =   120
  100.       TabIndex        =   30
  101.       Top             =   4680
  102.       Width           =   1320
  103.    End
  104.    Begin Label wYPos_Label 
  105.       Alignment       =   1  'Right Justify
  106.       BackColor       =   &H00808080&
  107.       BorderStyle     =   1  'Fixed Single
  108.       ForeColor       =   &H00FFFFFF&
  109.       Height          =   255
  110.       Left            =   2040
  111.       TabIndex        =   29
  112.       Top             =   4680
  113.       Width           =   855
  114.    End
  115.    Begin Label Label8 
  116.       Caption         =   "wXPos:"
  117.       Height          =   255
  118.       Left            =   120
  119.       TabIndex        =   28
  120.       Top             =   4440
  121.       Width           =   1320
  122.    End
  123.    Begin Label wXPos_Label 
  124.       Alignment       =   1  'Right Justify
  125.       BackColor       =   &H00808080&
  126.       BorderStyle     =   1  'Fixed Single
  127.       ForeColor       =   &H00FFFFFF&
  128.       Height          =   255
  129.       Left            =   2040
  130.       TabIndex        =   27
  131.       Top             =   4440
  132.       Width           =   855
  133.    End
  134.    Begin Line Line2 
  135.       X1              =   120
  136.       X2              =   2880
  137.       Y1              =   4080
  138.       Y2              =   4080
  139.    End
  140.    Begin Label wPeriodMax_Label 
  141.       Alignment       =   1  'Right Justify
  142.       BackColor       =   &H00808080&
  143.       BorderStyle     =   1  'Fixed Single
  144.       ForeColor       =   &H00FFFFFF&
  145.       Height          =   255
  146.       Left            =   2040
  147.       TabIndex        =   26
  148.       Top             =   3720
  149.       Width           =   855
  150.    End
  151.    Begin Label Label23 
  152.       Caption         =   "wPeriodMax:"
  153.       Height          =   255
  154.       Left            =   120
  155.       TabIndex        =   25
  156.       Top             =   3720
  157.       Width           =   1320
  158.    End
  159.    Begin Label wPeriodMin_Label 
  160.       Alignment       =   1  'Right Justify
  161.       BackColor       =   &H00808080&
  162.       BorderStyle     =   1  'Fixed Single
  163.       ForeColor       =   &H00FFFFFF&
  164.       Height          =   255
  165.       Left            =   2040
  166.       TabIndex        =   24
  167.       Top             =   3480
  168.       Width           =   855
  169.    End
  170.    Begin Label Label21 
  171.       Caption         =   "wPeriodMin:"
  172.       Height          =   255
  173.       Left            =   120
  174.       TabIndex        =   23
  175.       Top             =   3480
  176.       Width           =   1320
  177.    End
  178.    Begin Label wNumButtons_Label 
  179.       Alignment       =   1  'Right Justify
  180.       BackColor       =   &H00808080&
  181.       BorderStyle     =   1  'Fixed Single
  182.       ForeColor       =   &H00FFFFFF&
  183.       Height          =   255
  184.       Left            =   2040
  185.       TabIndex        =   22
  186.       Top             =   3240
  187.       Width           =   855
  188.    End
  189.    Begin Label Label19 
  190.       Caption         =   "wNumButtons:"
  191.       Height          =   255
  192.       Left            =   120
  193.       TabIndex        =   21
  194.       Top             =   3240
  195.       Width           =   1320
  196.    End
  197.    Begin Label wZmax_Label 
  198.       Alignment       =   1  'Right Justify
  199.       BackColor       =   &H00808080&
  200.       BorderStyle     =   1  'Fixed Single
  201.       ForeColor       =   &H00FFFFFF&
  202.       Height          =   255
  203.       Left            =   2040
  204.       TabIndex        =   20
  205.       Top             =   3000
  206.       Width           =   855
  207.    End
  208.    Begin Label Label17 
  209.       Caption         =   "wZmax:"
  210.       Height          =   255
  211.       Left            =   120
  212.       TabIndex        =   19
  213.       Top             =   3000
  214.       Width           =   1320
  215.    End
  216.    Begin Label wZmin_Label 
  217.       Alignment       =   1  'Right Justify
  218.       BackColor       =   &H00808080&
  219.       BorderStyle     =   1  'Fixed Single
  220.       ForeColor       =   &H00FFFFFF&
  221.       Height          =   255
  222.       Left            =   2040
  223.       TabIndex        =   18
  224.       Top             =   2760
  225.       Width           =   855
  226.    End
  227.    Begin Label Label15 
  228.       Caption         =   "wZmin:"
  229.       Height          =   255
  230.       Left            =   120
  231.       TabIndex        =   17
  232.       Top             =   2760
  233.       Width           =   1320
  234.    End
  235.    Begin Label wYmax_Label 
  236.       Alignment       =   1  'Right Justify
  237.       BackColor       =   &H00808080&
  238.       BorderStyle     =   1  'Fixed Single
  239.       ForeColor       =   &H00FFFFFF&
  240.       Height          =   255
  241.       Left            =   2040
  242.       TabIndex        =   16
  243.       Top             =   2520
  244.       Width           =   855
  245.    End
  246.    Begin Label Label13 
  247.       Caption         =   "wYmax:"
  248.       Height          =   255
  249.       Left            =   120
  250.       TabIndex        =   15
  251.       Top             =   2520
  252.       Width           =   1320
  253.    End
  254.    Begin Label wYmin_Label 
  255.       Alignment       =   1  'Right Justify
  256.       BackColor       =   &H00808080&
  257.       BorderStyle     =   1  'Fixed Single
  258.       ForeColor       =   &H00FFFFFF&
  259.       Height          =   255
  260.       Left            =   2040
  261.       TabIndex        =   14
  262.       Top             =   2280
  263.       Width           =   855
  264.    End
  265.    Begin Label Label11 
  266.       Caption         =   "wYmin:"
  267.       Height          =   255
  268.       Left            =   120
  269.       TabIndex        =   13
  270.       Top             =   2280
  271.       Width           =   1320
  272.    End
  273.    Begin Label wXmax_Label 
  274.       Alignment       =   1  'Right Justify
  275.       BackColor       =   &H00808080&
  276.       BorderStyle     =   1  'Fixed Single
  277.       ForeColor       =   &H00FFFFFF&
  278.       Height          =   255
  279.       Left            =   2040
  280.       TabIndex        =   12
  281.       Top             =   2040
  282.       Width           =   855
  283.    End
  284.    Begin Label Label9 
  285.       Caption         =   "wXmax:"
  286.       Height          =   255
  287.       Left            =   120
  288.       TabIndex        =   11
  289.       Top             =   2040
  290.       Width           =   1320
  291.    End
  292.    Begin Label wXmin_Label 
  293.       Alignment       =   1  'Right Justify
  294.       BackColor       =   &H00808080&
  295.       BorderStyle     =   1  'Fixed Single
  296.       ForeColor       =   &H00FFFFFF&
  297.       Height          =   255
  298.       Left            =   2040
  299.       TabIndex        =   10
  300.       Top             =   1800
  301.       Width           =   855
  302.    End
  303.    Begin Label Label7 
  304.       Caption         =   "wXmin:"
  305.       Height          =   255
  306.       Left            =   120
  307.       TabIndex        =   9
  308.       Top             =   1800
  309.       Width           =   1320
  310.    End
  311.    Begin Label sZPname_Label 
  312.       BackColor       =   &H00808080&
  313.       BorderStyle     =   1  'Fixed Single
  314.       ForeColor       =   &H00FFFFFF&
  315.       Height          =   255
  316.       Left            =   1440
  317.       TabIndex        =   8
  318.       Top             =   1560
  319.       Width           =   1455
  320.    End
  321.    Begin Label Label5 
  322.       Caption         =   "szPname:"
  323.       Height          =   255
  324.       Left            =   120
  325.       TabIndex        =   7
  326.       Top             =   1560
  327.       Width           =   1320
  328.    End
  329.    Begin Label wPid_Label 
  330.       Alignment       =   1  'Right Justify
  331.       BackColor       =   &H00808080&
  332.       BorderStyle     =   1  'Fixed Single
  333.       ForeColor       =   &H00FFFFFF&
  334.       Height          =   255
  335.       Left            =   2040
  336.       TabIndex        =   6
  337.       Top             =   1320
  338.       Width           =   855
  339.    End
  340.    Begin Label Label3 
  341.       Caption         =   "wPid:"
  342.       Height          =   255
  343.       Left            =   120
  344.       TabIndex        =   5
  345.       Top             =   1320
  346.       Width           =   1320
  347.    End
  348.    Begin Label wMid_Label 
  349.       Alignment       =   1  'Right Justify
  350.       BackColor       =   &H00808080&
  351.       BorderStyle     =   1  'Fixed Single
  352.       ForeColor       =   &H00FFFFFF&
  353.       Height          =   255
  354.       Left            =   2040
  355.       TabIndex        =   4
  356.       Top             =   1080
  357.       Width           =   855
  358.    End
  359.    Begin Label Label2 
  360.       Caption         =   "wMid:"
  361.       Height          =   255
  362.       Left            =   120
  363.       TabIndex        =   3
  364.       Top             =   1080
  365.       Width           =   1320
  366.    End
  367.    Begin Line Line1 
  368.       X1              =   120
  369.       X2              =   2880
  370.       Y1              =   480
  371.       Y2              =   480
  372.    End
  373.    Begin Label NumJoys_Label 
  374.       Alignment       =   1  'Right Justify
  375.       BackColor       =   &H00808080&
  376.       BorderStyle     =   1  'Fixed Single
  377.       ForeColor       =   &H00FFFFFF&
  378.       Height          =   255
  379.       Left            =   2040
  380.       TabIndex        =   1
  381.       Top             =   120
  382.       Width           =   855
  383.    End
  384.    Begin Label Label1 
  385.       Caption         =   "Number of Joysticks:"
  386.       Height          =   255
  387.       Left            =   120
  388.       TabIndex        =   0
  389.       Top             =   120
  390.       Width           =   1815
  391.    End
  392. Dim Shared NumberOfJoys%
  393. Sub Form_Load ()
  394.     left = Int((screen.Width - Width) / 2)
  395.     top = Int((screen.Height - Height) / 2)
  396.     NumberOfJoys% = JoyGetNumDevs()
  397.     MsgBox ("Result from joyGetNumDevs = " + Format$(NumberOfJoys%, "0")), 64, "Joystick Info"
  398.     NumJoys_Label.Caption = Format$(NumberOfJoys%, "0")
  399.     If NumberOfJoys% > 0 Then
  400.         For ThisStick% = 0 To (NumberOfJoys% - 1)
  401.             Joys_Combo.AddItem Format$(ThisStick%, "0")
  402.             Next ThisStick%
  403.         Joys_Combo.ListIndex = 0
  404.     End If
  405. End Sub
  406. Sub Joys_Combo_Click ()
  407.     If NumberOfJoys% > 0 Then
  408.         
  409.         Dim StickInfo As JOYCAPS
  410.         
  411.         res% = joyGetDevCaps(Joys_Combo.List(Joys_Combo.ListIndex), StickInfo, Len(StickInfo))
  412.         MsgBox ("Result from joyGetDevCaps = " + Format$(res%, "0")), 64, "Joystick Info"
  413.         
  414.         wMid_Label.Caption = Format$(w2Long(StickInfo.wMid), "0")
  415.         wPid_Label.Caption = Format$(w2Long(StickInfo.wPid), "0")
  416.         szPname_Label.Caption = StickInfo.sxPname
  417.         wXmin_Label.Caption = Format$(w2Long(StickInfo.wXmin), "0")
  418.         wXmax_Label.Caption = Format$(w2Long(StickInfo.wXmax), "0")
  419.         wYmin_Label.Caption = Format$(w2Long(StickInfo.wYmin), "0")
  420.         wYmax_Label.Caption = Format$(w2Long(StickInfo.wYmax), "0")
  421.         wZmin_Label.Caption = Format$(w2Long(StickInfo.wZmin), "0")
  422.         wZmax_Label.Caption = Format$(w2Long(StickInfo.wZmax), "0")
  423.         wNumButtons_Label.Caption = Format$(w2Long(StickInfo.wNumButtons), "0")
  424.         wPeriodMin_Label.Caption = Format$(w2Long(StickInfo.wPeriodMin), "0")
  425.         wPeriodMax_Label.Caption = Format$(w2Long(StickInfo.wPeriodMax), "0")
  426.     End If
  427. End Sub
  428. Sub JoySample_Timer_Timer ()
  429.     If NumberOfJoys% > 0 Then
  430.         Dim GetJoyStuff As JOYINFO
  431.         res% = joyGetPos(Val(Joys_Combo.List(Joys_Combo.ListIndex)), GetJoyStuff)
  432.         joyGetPos_Label.Caption = Format$(res%, "0")
  433.         wXPos_Label.Caption = Format$(w2Long(GetJoyStuff.wXPos), "0")
  434.         wYPos_Label.Caption = Format$(w2Long(GetJoyStuff.wYPos), "0")
  435.         wZPos_Label.Caption = Format$(w2Long(GetJoyStuff.wZPos), "0")
  436.         wButtons_Label.Caption = Format$(w2Long(GetJoyStuff.wButtons), "0")
  437.     End If
  438. End Sub
  439.