VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > vb >
  • vb教程之VB设计动画时钟

程 序 名:Sec-Time.vbp 
程序类别:完整的VB程序 
功 能:显示一个动画时钟,该时针随着每一秒而动态变化。 

程序说明 

  1.如何画时钟表盘上的所有直线元素? 
  用Load命令建立原始Line控制的14个拷贝(因为表盘有12个点和时、分、秒共15个Line),该控制数组每一个实例的端点坐标属性设置为每条线在时钟表盘上的适当位置。这些拷贝中大多数只放置一次,而3个Line控制每秒钟更新一次,产生时钟指针移动的感觉。 
  注意:在应用程序代码中并没有直接擦除任何一条线。当我们改变每一个Line控制的端点时,每一根针在移动时擦除和重画的所有技术工作都由VB来处理。 

  2.如何修改时针的形状? 
  通过调整代码中的属性设置,可以改变时钟的形状。例如:通过改变每一个Line控制的Borderwidth属性设置,可以建立更细或更粗的线。 

  3.计时器的Interval(间距)属性设置 
  计时器的Interval属性设置为100,即为1/10秒。 

程序的编写与执行 

  (1)新建工程 
  先新建一个工程(工程类型为标准EXE),然后用“工具箱”中的工具加入一个Timer1(计时器)和line1(直线),其index(指针)分别设置为空和0。然后双击Form1窗体,输入源代码。 

  (2)程序源代码 
  Option Explicit 
  DefDbl A-Z 
  Private Sub Form_Load() 
  timer1.Interval = 100 
  Width = 4000 
  Height = 4000 
  Left = Screen.Width \ 2 - 2000 
  Top = (Screen.Height - Height) \ 2 
  End Sub 
  Private Sub Form_Resize() 
  Dim i, Angle 
  Static flag As Boolean 
  If flag = False Then 
    flag = True 
  For i = 0 To 14 
  ’画出表盘12个点和时、分、秒共15个LINE 
    If i > 0 Then Load Line1(i) 
    Line1(i).Visible = True 
    Line1(i).BorderWidth = 5 
    Line1(i).BorderColor = RGB(0, 128, 0) ’设置LINE的粗细和颜色 
    Next i 
   End If 
  For i = 0 To 14 
    Scale (-1, 1)-(1, -1) 
    Angle = i * 2 * Atn(1) / 3 
    Line1(i).X1 = 0.9 * Cos(Angle) 
    Line1(i).Y1 = 0.9 * Sin(Angle) 
    Line1(i).X2 = Cos(Angle) 
    Line1(i).Y2 = Sin(Angle) 
    Next i 
   End Sub 
  Private Sub timer1_Timer() 
  Const HH = 0 
  Const MH = 13 
  Const SH = 14 
  Dim Angle 
  Static LS 
  If Second(Now) = LS Then Exit Sub 
  LS = Second(Now) 
  Angle = 0.5236 * (15 - (Hour(Now) + Minute(Now) / 60))’设置时针 
  Line1(HH).X1 = 0 
  Line1(HH).Y1 = 0 
  Line1(HH).X2 = 0.3 * Cos(Angle) 
  Line1(HH).Y2 = 0.3 * Sin(Angle) 
  Angle = 0.1047 * (75 - (Minute(Now) + Second(Now) / 60))’设置分针 
  Line1(MH).X1 = 0 
  Line1(MH).Y1 = 0 
  Line1(MH).X2 = 0.7 * Cos(Angle) 
  Line1(MH).Y2 = 0.7 * Sin(Angle) 
  Angle = 0.5236 * (75 - Second(Now)) 
  ’设置秒针 
  Line1(SH).X1 = 0 
  Line1(SH).Y1 = 0 
  Line1(SH).X2 = 0.8 * Cos(Angle) 
  Line1(SH).Y2 = 0.8 * Sin(Angle) 
  form1.Caption = Str(Now()) 
  '窗口显示精确的日期和数字化的时间 
  End Sub 

  (3)程序的编译和执行 
  点击VB“运行”菜单中的“启动”或“全面编译”命令,即可对程序编译并运行! 
  注:上述程序在中文Windows 98和 VB5.0中文企业版下调试通过。

相关教程