home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 5_2007-2008.ISO / data / Zips / VBDOCTOR_22034541222006.psc / VBDOCTOR / CLOCK.frm < prev    next >
Text File  |  2006-11-30  |  3KB  |  88 lines

  1. VERSION 5.00
  2. Begin VB.Form AnalocClock 
  3.    Appearance      =   0  'Flat
  4.    AutoRedraw      =   -1  'True
  5.    BackColor       =   &H80000005&
  6.    BorderStyle     =   1  'Fixed Single
  7.    Caption         =   "Analog Clock"
  8.    ClientHeight    =   2505
  9.    ClientLeft      =   45
  10.    ClientTop       =   450
  11.    ClientWidth     =   2460
  12.    Icon            =   "CLOCK.frx":0000
  13.    LinkTopic       =   "Form1"
  14.    MaxButton       =   0   'False
  15.    MinButton       =   0   'False
  16.    Picture         =   "CLOCK.frx":0442
  17.    ScaleHeight     =   2505
  18.    ScaleWidth      =   2460
  19.    StartUpPosition =   2  'CenterScreen
  20.    Begin VB.Timer Timer1 
  21.       Interval        =   1000
  22.       Left            =   120
  23.       Top             =   120
  24.    End
  25.    Begin VB.Label Label1 
  26.       Alignment       =   2  'Center
  27.       BackStyle       =   0  'Transparent
  28.       Height          =   255
  29.       Left            =   720
  30.       TabIndex        =   0
  31.       Top             =   1560
  32.       Width           =   975
  33.    End
  34. End
  35. Attribute VB_Name = "AnalocClock"
  36. Attribute VB_GlobalNameSpace = False
  37. Attribute VB_Creatable = False
  38. Attribute VB_PredeclaredId = True
  39. Attribute VB_Exposed = False
  40. Public Sub DrawLine(lHDC As Long, X1 As Integer, Y1 As Integer, X2 As Integer, Y2 As Integer, lColor As Long)
  41.     Me.Line (X1 * 15, Y1 * 15)-(X2 * 15, Y2 * 15), lColor
  42.     Me.Refresh
  43. End Sub
  44.  
  45. Public Sub DrawClock()
  46. Dim Angle As Double, X As Integer, Y As Integer, I As Integer
  47. Dim TwoPI As Double, Sec As Byte, Min As Byte, Hr As Byte
  48.  
  49. Sec = Second(Time)
  50. Min = Minute(Time)
  51. Hr = Hour(Time)
  52. TwoPI = (2 * (4 * Atn(1)))
  53.  
  54. ' Clear the view
  55. Cls
  56.  
  57. ' Draw the seconds arm
  58.     Angle = Sec * TwoPI / 60
  59.     Y = (85 - 70 * Cos(Angle))
  60.     X = (85 + 70 * Sin(Angle))
  61.     DrawLine Me.hDC, 85, 85, X, Y, vbBlack
  62.  
  63. ' Draw the minutes arm
  64.           Angle = Min * TwoPI / 60
  65.           Y = (85 - 65 * Cos(Angle))
  66.           X = (85 + 65 * Sin(Angle))
  67.           DrawLine Me.hDC, 85, 85 - 2, X, Y, vbBlue
  68.           DrawLine Me.hDC, 85, 85, X, Y, vbBlue
  69.           DrawLine Me.hDC, 85, 85 + 2, X, Y, vbBlue
  70.  
  71. ' Draw the hours arm
  72.           Angle = ((Hr Mod 12) * 60 - 2 + Min) * TwoPI / 12 / 60
  73.           Y = (85 - 50 * Cos(Angle))
  74.           X = (85 + 50 * Sin(Angle))
  75.           DrawLine Me.hDC, 85, 85 - 2, X, Y, vbRed
  76.           DrawLine Me.hDC, 85, 85, X, Y, vbRed
  77.           DrawLine Me.hDC, 85, 85 + 2, X, Y, vbRed
  78. End Sub
  79.  
  80. Private Sub Form_Load()
  81.    DrawClock
  82. End Sub
  83.  
  84. Private Sub Timer1_Timer()
  85. DrawClock
  86. Label1.Caption = Time
  87. End Sub
  88.