|
|
||||
首页
文学作品 网页设计 平面设计 程序设计 考试认证 基础办公 QQ资源 服务器架设 网站运营 网页资源
|
|
|
| 汉南在线 → 程序设计 → 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=O 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“运行”菜单中的“启动”或“全面编译”命令,即可对程序编译并运行!
| |||||||||||
| >> 相关文章 | |||||||||||
|
授权使用:汉南在线 http://www.hzwz.net/(2008-2009) Copyright (c) 2002-2007 汉南在线. All Rights Reserved . 经营许可证:陕ICP备05000109号 Powered by:汉南在线 |