• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何用VB设计动画时钟举例

发布: 2007-6-21 21:57 | 作者:   | 来源:   | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

   
  程序说明

  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“运行”菜单中的“启动”或“全面编译”命令,即可对程序编译并运行!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网