home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / inole2 / chap15 / vbsquare / newvb / rotate.frm < prev    next >
Text File  |  1995-05-03  |  6KB  |  254 lines

  1. VERSION 4.00
  2. Begin VB.Form RotateControl 
  3.    Caption         =   "Rotation Controller"
  4.    ClientHeight    =   1695
  5.    ClientLeft      =   7920
  6.    ClientTop       =   3030
  7.    ClientWidth     =   3795
  8.    BeginProperty Font 
  9.       name            =   "MS Sans Serif"
  10.       charset         =   1
  11.       weight          =   700
  12.       size            =   8.25
  13.       underline       =   0   'False
  14.       italic          =   0   'False
  15.       strikethrough   =   0   'False
  16.    EndProperty
  17.    Height          =   2100
  18.    Left            =   7860
  19.    LinkTopic       =   "Form1"
  20.    ScaleHeight     =   1695
  21.    ScaleWidth      =   3795
  22.    Top             =   2685
  23.    Width           =   3915
  24.    Begin VB.CommandButton Animate 
  25.       Caption         =   "&Animate..."
  26.       Height          =   495
  27.       Left            =   240
  28.       TabIndex        =   4
  29.       Top             =   960
  30.       Width           =   1095
  31.    End
  32.    Begin VB.TextBox Radius 
  33.       Alignment       =   1  'Right Justify
  34.       Height          =   375
  35.       Left            =   2640
  36.       TabIndex        =   2
  37.       Text            =   "100"
  38.       Top             =   1140
  39.       Width           =   735
  40.    End
  41.    Begin VB.TextBox Theta 
  42.       Alignment       =   1  'Right Justify
  43.       Height          =   375
  44.       Left            =   2640
  45.       TabIndex        =   3
  46.       Text            =   "0"
  47.       Top             =   600
  48.       Width           =   735
  49.    End
  50.    Begin VB.TextBox Declination 
  51.       Alignment       =   1  'Right Justify
  52.       Height          =   375
  53.       Left            =   2640
  54.       TabIndex        =   1
  55.       Text            =   "0"
  56.       Top             =   120
  57.       Width           =   735
  58.    End
  59.    Begin VB.CommandButton Draw 
  60.       Caption         =   "&Draw"
  61.       Default         =   -1  'True
  62.       Height          =   495
  63.       Left            =   240
  64.       TabIndex        =   0
  65.       Top             =   240
  66.       Width           =   1095
  67.    End
  68.    Begin Spin.SpinButton RadiusSpin 
  69.       Height          =   375
  70.       Left            =   3360
  71.       TabIndex        =   8
  72.       Top             =   1140
  73.       Width           =   255
  74.       _version        =   65536
  75.       _extentx        =   450
  76.       _extenty        =   661
  77.       _stockprops     =   73
  78.       forecolor       =   -2147483640
  79.       backcolor       =   -2147483643
  80.       delay           =   0
  81.    End
  82.    Begin Spin.SpinButton ThetaSpin 
  83.       Height          =   375
  84.       Left            =   3360
  85.       TabIndex        =   9
  86.       Top             =   600
  87.       Width           =   255
  88.       _version        =   65536
  89.       _extentx        =   450
  90.       _extenty        =   661
  91.       _stockprops     =   73
  92.       forecolor       =   -2147483640
  93.       backcolor       =   -2147483643
  94.       delay           =   0
  95.    End
  96.    Begin Spin.SpinButton DeclineSpin 
  97.       Height          =   375
  98.       Left            =   3360
  99.       TabIndex        =   10
  100.       Top             =   120
  101.       Width           =   255
  102.       _version        =   65536
  103.       _extentx        =   450
  104.       _extenty        =   661
  105.       _stockprops     =   73
  106.       forecolor       =   -2147483640
  107.       backcolor       =   -2147483643
  108.       delay           =   0
  109.    End
  110.    Begin VB.Label RadiusText 
  111.       Alignment       =   1  'Right Justify
  112.       Caption         =   "&Radius"
  113.       Height          =   255
  114.       Left            =   1440
  115.       TabIndex        =   7
  116.       Top             =   1200
  117.       Width           =   1095
  118.    End
  119.    Begin VB.Label TText 
  120.       Alignment       =   1  'Right Justify
  121.       Caption         =   "&Theta"
  122.       Height          =   255
  123.       Left            =   1440
  124.       TabIndex        =   6
  125.       Top             =   660
  126.       Width           =   1095
  127.    End
  128.    Begin VB.Label DText 
  129.       Alignment       =   2  'Center
  130.       Caption         =   "&Declination"
  131.       Height          =   255
  132.       Left            =   1440
  133.       TabIndex        =   5
  134.       Top             =   180
  135.       Width           =   1155
  136.    End
  137. End
  138. Attribute VB_Name = "RotateControl"
  139. Attribute VB_Creatable = False
  140. Attribute VB_Exposed = False
  141.  
  142. Private Sub Animate_Click()
  143.     AnimateForm.Show
  144. End Sub
  145.  
  146. Private Sub Declination_Change()
  147.     d = Val(Declination.Text)
  148.     Square.Declination = d / 57.29577951
  149.     Square.Draw
  150. End Sub
  151.  
  152. Private Sub DeclineSpin_SpinDown()
  153.     d = Val(Declination.Text) - 1
  154.  
  155.     If (d < 0) Then
  156.         d = 0
  157.     End If
  158.  
  159.     Declination.Text = Str$(d)
  160. End Sub
  161.  
  162. Private Sub DeclineSpin_SpinUp()
  163.     d = Val(Declination.Text) + 1
  164.  
  165.     If (d > 180) Then
  166.         d = 180
  167.     End If
  168.  
  169.     Declination.Text = Str$(d)
  170. End Sub
  171.  
  172. Private Sub Draw_Click()
  173.     Square.Declination = Val(Declination.Text) / 57.29577951
  174.     Square.Theta = Val(Theta.Text) / 57.29577951
  175.     Square.Radius = Val(Radius.Text)
  176.     Square.Draw
  177. End Sub
  178.  
  179. Private Sub Form_Load()
  180.     Set Square = CreateObject("SphereSquare.Object")
  181.     Declination.Text = Str$(Square.Declination)
  182.     Theta.Text = Str$(Square.Theta)
  183.     Radius.Text = Str$(Square.Radius)
  184.  
  185.     Square.BackColor = RGB(0, 0, 0)
  186.     Square.LineColorPositive = RGB(255, 255, 0)
  187.     Square.LineColorNegative = RGB(0, 255, 0)
  188.  
  189.     Square.SetWindowPosition 100, 100
  190.     Square.SetWindowSize 300, 300
  191.     Square.ShowWindow (SW_SHOW)
  192. End Sub
  193.  
  194. Private Sub Form_Unload(Cancel As Integer)
  195.     Set Square = Nothing
  196. End Sub
  197.  
  198. Private Sub Radius_Change()
  199.     r = Val(Radius.Text)
  200.     Square.Radius = r
  201.     Square.Draw
  202. End Sub
  203.  
  204. Private Sub RadiusSpin_SpinDown()
  205.     r = Val(Radius.Text) - 1
  206.  
  207.     If (r < 0) Then
  208.         r = 0
  209.     End If
  210.  
  211.     Radius.Text = Str$(r)
  212.     'Square.Radius = r
  213.     'Square.Draw
  214. End Sub
  215.  
  216. Private Sub RadiusSpin_SpinUp()
  217.     r = Val(Radius.Text) + 1
  218.  
  219.     If (r > 500) Then
  220.         r = 500
  221.     End If
  222.  
  223.     Radius.Text = Str$(r)
  224.     'Square.Radius = r
  225.     'Square.Draw
  226. End Sub
  227.  
  228. Private Sub Theta_Change()
  229.     th = Val(Theta.Text)
  230.     Square.Theta = th / 57.29577951
  231.     Square.Draw
  232. End Sub
  233.  
  234. Private Sub ThetaSpin_SpinDown()
  235.     th = Val(Theta.Text) - 1
  236.  
  237.     If (th < 0) Then
  238.         th = 359
  239.     End If
  240.  
  241.     Theta.Text = Str$(th)
  242. End Sub
  243.  
  244. Private Sub ThetaSpin_SpinUp()
  245.     th = Val(Theta.Text) + 1
  246.  
  247.     If (th > 359) Then
  248.         th = 0
  249.     End If
  250.  
  251.     Theta.Text = Str$(th)
  252. End Sub
  253.  
  254.