关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> Vb -> 多媒体 ->详细
相关内容  
 
 
在Delphi程序中应用IE浏览器控件
DELPHI 中动态链接库的使用
利用Hook技术实现键盘监控
Delphi下汉字输入法的编程及使用
在Delphi中用拼音首字符序列来实现检索功能
在DELPHI中处理时间
Delphi 元件撰写常问问题
任意动态改变/添加网络设置中的 TCP/IP 的 DNS 地址
Delphi 3中Cookie的建立使用
Delphi4.0 开发WEBMAIL程序
用DELPHI制作留言板
 
【新品推荐】

  详细内容
 

VB设计动画时钟
作者: 评价: 上站日期: 2001-09-02
内容说明:
来源:

 
功能:显示一个动画时钟,该时针随着每一秒而动态变化。
程序说明
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(200, 100, 60)'设置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) / 5)'设置秒针
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“运行”菜单中的“启动”或“全面编译”命令,即可对程序编译并运行!
注:上述程序在中文Windows98和VB5.0中文企业版下调试通过。
 

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> Vb -> 多媒体 ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0