vb时钟设计的源代码(vb绘制时钟动画的流程)
admin 发布:2022-12-19 18:41 176
今天给各位分享vb时钟设计的源代码的知识,其中也会对vb绘制时钟动画的流程进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、vb中怎样做出时钟?
- 2、怎么用VB来制作时钟
- 3、vb 时钟代码
- 4、用vb程序设计一个电子时钟
vb中怎样做出时钟?
VB可使用Timer控件、Line控件和绘图或加载图片等制作指针式时钟。
Timer 控件,通过引发 Timer 事件,Timer 控件可以有规律地隔一段时间执行一次代码。
Line 控件,Line 控件是图形控件,它显示水平线、垂直线或者对角线。
运行时不能使用 Move 方法移动 Line 控件,但是可以通过改变 X1、X2、Y1 和 Y2
属性来移动它或者调整它的大小。
Circle 方法,在对象上画圆、椭圆或弧。
以下是通过加载图片的指针式时钟代码:
Option Explicit
Private Const PI = 3.1415926
Dim X(1) As Single, Y(1) As Single
Dim OriAngle As Single, DestAngle As Single, r As Single
Private Sub RotateLine(objL As Line, bsPointX As Single, bsPointY As Single, RotateAngle As Single)
With objL
X(0) = .X1
Y(0) = .Y1
X(1) = .X2
Y(1) = .Y2
End With
Dim i As Integer
For i = 0 To 1
If X(i) - bsPointX 0 Then
OriAngle = Atn((Y(i) - bsPointY) / (X(i) - bsPointX))
Else
OriAngle = IIf(Y(i) bsPointY, PI / 2, 1.5 * PI)
End If
If X(i) - bsPointX 0 Then
If OriAngle 0 Then
OriAngle = PI - Abs(OriAngle)
Else
OriAngle = PI + Abs(OriAngle)
End If
End If
DestAngle = OriAngle + RotateAngle
r = Sqr((X(i) - bsPointX) ^ 2 + (Y(i) - bsPointY) ^ 2)
X(i) = bsPointX + r * Cos(DestAngle)
Y(i) = bsPointY + r * Sin(DestAngle)
Next i
With objL
.X1 = X(0)
.Y1 = Y(0)
.X2 = X(1)
.Y2 = Y(1)
End With
End Sub
Private Sub Form_Load()
Timer1.Interval = 1000
Dim i As Long
For i = 1 To Val(Mid(Time$, 7, 2))
RotateLine Line3, Line3.X1, Line3.Y1, 1 * PI / 30
Next
For i = 1 To Val(Mid(Time$, 4, 2))
RotateLine Line2, Line2.X1, Line2.Y1, 1 * PI / 30
Next
For i = 1 To Val(Mid(Time$, 1, 2)) * 5 '对时针
RotateLine Line1, Line1.X1, Line1.Y1, 1 * PI / 30
Next
For i = 1 To Val(Mid(Time$, 4, 2)) '对时针
RotateLine Line1, Line1.X1, Line1.Y1, 1 * PI / 360
Next
End Sub
Private Sub Timer1_Timer()
RotateLine Line3, Line3.X1, Line3.Y1, 1 * PI / 30
RotateLine Line2, Line2.X1, Line2.Y1, PI / 1800
If Mid(Time$, 7, 2) = "00" Or Mid(Time$, 7, 2) = "30" Then
RotateLine Line1, Line1.X1, Line1.Y1, 1 * PI / 720
End If
Me.Caption = Time$
End Sub
怎么用VB来制作时钟
下面是全部代码
只要把这些复制到一个空白的txt文件里
再把扩展名txt改成frm
就可以直接运行了
VERSION 5.00
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 3090
ClientLeft = 60
ClientTop = 450
ClientWidth = 4680
LinkTopic = "Form1"
ScaleHeight = 3090
ScaleWidth = 4680
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Command1
Caption = "Command1"
Height = 375
Left = 3240
TabIndex = 0
Top = 2520
Width = 1215
End
Begin VB.Timer Timer1
Left = 1800
Top = 1320
End
Begin VB.Label Label1
Height = 375
Left = 1440
TabIndex = 1
Top = 2520
Width = 1095
End
Begin VB.Shape Shape1
Height = 495
Left = 360
Shape = 3 'Circle
Top = 2040
Width = 495
End
Begin VB.Line Line2
X1 = 240
X2 = 1800
Y1 = 720
Y2 = 720
End
Begin VB.Line Line1
BorderWidth = 2
X1 = 360
X2 = 1920
Y1 = 360
Y2 = 360
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'Line1 代表时针
'Line2 代表分针
Dim X0 As Integer, Y0 As Integer
Dim L As Integer
Const Pi = 3.1415926
Private Sub Command1_Click()
Do
h = Int(Val(InputBox("请输入你需要的小时数:", "修改", Hour(Now))))
Loop Until h = 0 And h 24
Do
m = Int(Val(InputBox("请输入你需要的分钟数:", "修改", Minute(Now))))
Loop Until m = 0 And m 60
Do
s = Int(Val(InputBox("请输入你需要的秒数:", "修改", Second(Now))))
Loop Until s = 0 And s 60
Label1 = Trim(Str(h)) ":" Trim(Str(m)) ":" Trim(Str(s))
End Sub
Private Sub Form_Activate()
For DU = 0 To 354 Step 6 '画秒刻度
xd = Cos(DU * Pi / 180) * (L - 100) + X0
yd = Sin(DU * Pi / 180) * (L - 100) + Y0
PSet (xd, yd), RGB(0, 0, 0)
Next
Me.FillColor = RGB(200, 200, 200)
For DU = 0 To 330 Step 30 '画5秒刻度
xd = Cos(DU * Pi / 180) * (L - 100) + X0
yd = Sin(DU * Pi / 180) * (L - 100) + Y0
Circle (xd, yd), 25
xd = Cos(DU * Pi / 180) * (L - 250) + X0
yd = Sin(DU * Pi / 180) * (L - 250) + Y0
CurrentX = xd - 100
CurrentY = yd - 100
If DU 270 Then '写数字
Print DU / 30 - 9
Else
If DU = 270 Then CurrentX = CurrentX - 80
Print DU / 30 + 3
End If
Next
Me.FillColor = RGB(250, 100, 100) '画15秒刻度
For DU = 0 To 270 Step 90
xd = Cos(DU * Pi / 180) * (L - 100) + X0
yd = Sin(DU * Pi / 180) * (L - 100) + Y0
Circle (xd, yd), 40, RGB(0, 0, 255)
Next
End Sub
Private Sub Form_Load()
L = 2000 '长度基准,也是表盘的半径
Me.AutoRedraw = True
Me.Width = 4 * L
Me.Height = 3.5 * L
Me.FillColor = RGB(120, 250, 250)
Me.FillStyle = 0
X0 = Me.Width / 2 - 40
Y0 = Me.Height / 2 - 400
Line1.X1 = X0
Line1.Y1 = Y0
Line1.BorderWidth = 3
Line2.X1 = X0
Line2.Y1 = Y0
Line2.BorderWidth = 2
Shape1.Shape = 3 '秒针
Shape1.FillColor = RGB(255, 0, 0)
Shape1.FillStyle = 0
Shape1.Height = L / 12
Shape1.Width = L / 12
Shape1.BorderStyle = 0
Circle (X0, Y0), L '表盘
Me.FillColor = RGB(250, 0, 0)
Me.Circle (X0, Y0), L / 40, RGB(255, 0, 0) '中心
Timer1.Interval = 1000
Call Timer1_Timer
Command1.Caption = "修改时间"
Command1.Top = Me.Height - L * 3 / 4
Command1.Left = Me.Width - L * 3 / 4
Command1.Height = L / 3
Label1.Top = Command1.Top
Label1.Left = Width / 4
Label1.Width = Width / 3
Label1.FontSize = 24
Label1.Height = Command1.Height
Label1.Caption = ""
End Sub
Private Sub Timer1_Timer()
If Label1 = "" Then
t = Time
Else
t = CDate(Label1) + 1 / 24 / 60 / 60
End If
DU = Second(t) * 6 - 90 '制作秒针
Shape1.Top = Sin(DU * Pi / 180) * L * 0.85 + Y0 - Shape1.Height / 2
Shape1.Left = Cos(DU * Pi / 180) * L * 0.85 + X0 - Shape1.Width / 2
m = L * 0.7 '制作分针
DU = Minute(t) * 6 - 90 '+ Second(T) * 6 / 60
Line2.X2 = Cos(DU * Pi / 180) * m + X0
Line2.Y2 = Sin(DU * Pi / 180) * m + Y0
h = L * 0.6 '制作时针
DU = (Hour(t) Mod 12) * 30 + Minute(t) * 6 / 12 - 90
Line1.X2 = Cos(DU * Pi / 180) * h + X0
Line1.Y2 = Sin(DU * Pi / 180) * h + Y0
Label1 = t
End Sub
vb 时钟代码
修改并测试成功!!!!!!!!
Private Sub Form_Load()
Form1.AutoRedraw = True
Form1.Height = 8000
Form1.Width = 8000
Form1.Scale (-100, -100)-(100, 100)
Line1.X1 = 0: Line1.Y1 = 0
Line2.X2 = 0: Line2.Y1 = 0‘......Line2.X1 = 0: Line2.Y1 = 0
Line3.X1 = 0: Line3.Y1 = 0
Line1.BorderColor = RGB(0, 0, 0)
Line1.BorderWidth = 3
Line2.BorderColor = RGB(0, 0, 255)
Line2.BorderWidth = 2
Line3.BorderColor = RGB(255, 0, 0)
Line3.BorderWidth = 1
Shape1.Top = -95
Shape1.Left = -95
Shape1.Width = 190
Shape1.Height = 190
Shape1.BorderStyle = 3
Shape1.BorderWidth = 3
Shape1.BorderColor = RGB(0, 0, 255)
Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
sx = Sin((180 - 6 * Second(Time)) * 3.14159 / 180) * 65
sy = Cos((180 - 6 * Second(Time)) * 3.14159 / 180) * 65
Line3.X2 = sx
Line3.Y2 = sy
mx = Sin((180 - 6 * Minute(Time)) * 3.14159 / 180) * 65
my = Cos((180 - 6 * Minute(Time)) * 3.14159 / 180) * 65
Line2.X2 = mx
Line2.Y2 = my
hx = Sin((180 - (30 * Hour(Time) + 30 * Minute(Time) / 60)) * 3.14159 / 180) * 40
hy = Cos((180 - (30 * Hour(Time) + 30 * Minute(Time) / 60)) * 3.14159 / 180) * 40
Line1.X2 = hx
Line1.Y2 = hy
Form1.CurrentX = -2
Form1.CurrentY = 80
Form1.Print "6"
Form1.CurrentX = -2
Form1.CurrentY = -80
Form1.Print "12"
Form1.CurrentX = 75
Form1.CurrentY = -8
Form1.Print "3"
Form1.CurrentX = -80
Form1.CurrentY = -8
Form1.Print "9"
End Sub
Scale用于标示对象的坐标系统,其中前一组数字表示Picture1的左上角的坐标值,后一组数字表示Picture1的右下角的坐标值。因此如果你将左上角的坐标和右下角的坐标值设置为同一个坐标,则VB会认为你设置有误,会报“除数为零”的错误。
..........张志晨..............
用vb程序设计一个电子时钟
label字体什么的自己改吧,主要功能实现了
Private Sub Form_Load()
Timer1.Enabled = True
Timer1.Interval = 1000
Timer2.Enabled = False
Timer2.Interval = 500
End Sub
Private Sub Timer1_Timer()
Label1.Caption = Time
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then
If Not IsDate(Text1.Text) Then
MsgBox "时间格式错误,正确应为HH:MM:SS"
Else
Text1.Locked = True
Timer2.Enabled = True
End If
End If
End Sub
Private Sub Timer2_Timer()
Dim lTime As Integer
Static LblColor As Boolean
lTime = DateDiff("s", Time, Text1.Text)
If lTime = 0 Then
If LblColor = True Then
Label1.BackColor = vbRed
LblColor = False
Else
Label1.BackColor = vbWhite
LblColor = True
End If
End If
End Sub
vb时钟设计的源代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于vb绘制时钟动画的流程、vb时钟设计的源代码的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:源代码语言(源代码语言识别)
- 下一篇:返回顶部的图标代码(返回箭头图标)
相关推荐
- 05-18网站建设开发,网站建设开发流程步骤
- 05-18创建网站的基本流程,创建网站的基本流程有哪些
- 05-18关键词优化设计,关键词优化简易
- 05-18百度竞价怎么开户,百度竞价开户流程
- 05-14长沙设计优化公司,长沙设计优化公司招聘信息
- 05-14网站怎么设计,网站怎么设计怎么实现的
- 05-10自己建网页,自己建网页详细流程
- 05-09百度最新收录方法,百度收录网站流程
- 05-08网站设计的好处,设计网站的目的
- 05-07pb超级报表源代码(pb报表工具)[20240507更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接