VB程序代码 时钟指针的相关代码 求指教
Consty0&=1110,x0&=1100,radius&=750【这一句看不懂】PrivateFunctiononcircle(XAsSingle,YAsSingle...
Const y0& = 1110, x0& = 1100, radius& = 750 【这一句看不懂】
Private Function oncircle(X As Single, Y As Single) As Boolean 【请问oncircle是时钟指针专用的吗 Boolean是什么】
precision = 55000 【precision是什么意思】
If Abs((X - x0) * (X - x0) + (y0 - Y) * (y0 - Y) - radius * radius) < precision Then
oncircle = True 【If 语句看不懂】
Else
oncircle = False
End If
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Const LEFT_BUTTON = 1
If oncircle(X, Y) Then 【我看到书上写着 X1 Y1定义object左上角的水平、垂直坐标 X2 Y2则是右下角的 都是这样吗?书上也没写什么前提条件】
Line1.X1 = x0
Line1.Y1 = y0
If Button = LEFT_BUTTON Then
Line1.X2 = X
Line1.Y2 = Y
Else
Line1.X2 = Line1.X1
Line1.Y2 = y0 - Y
End If
Label1.Caption = ""
Else
Label1 = "鼠标位置不对"
End If
End Sub
其实整个都不大懂。。请细细的说一下吧 如果有相关资料就更好了! 展开
Private Function oncircle(X As Single, Y As Single) As Boolean 【请问oncircle是时钟指针专用的吗 Boolean是什么】
precision = 55000 【precision是什么意思】
If Abs((X - x0) * (X - x0) + (y0 - Y) * (y0 - Y) - radius * radius) < precision Then
oncircle = True 【If 语句看不懂】
Else
oncircle = False
End If
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Const LEFT_BUTTON = 1
If oncircle(X, Y) Then 【我看到书上写着 X1 Y1定义object左上角的水平、垂直坐标 X2 Y2则是右下角的 都是这样吗?书上也没写什么前提条件】
Line1.X1 = x0
Line1.Y1 = y0
If Button = LEFT_BUTTON Then
Line1.X2 = X
Line1.Y2 = Y
Else
Line1.X2 = Line1.X1
Line1.Y2 = y0 - Y
End If
Label1.Caption = ""
Else
Label1 = "鼠标位置不对"
End If
End Sub
其实整个都不大懂。。请细细的说一下吧 如果有相关资料就更好了! 展开
3个回答
展开全部
Const y0& = 1110, x0& = 1100, radius& = 750 【这一句看不懂】
'Const 是自定义常量的修饰符,Const y0& = 1110 等价于 Const y0 as long = 1110, &是long类型的简易表达
'从后边代码中可以得出,x0,y0是圆心的坐标,radius表示圆的半径
Private Function oncircle(X As Single, Y As Single) As Boolean 【请问oncircle是时钟指针专用的吗 Boolean是什么】
'这个oncircle没什么特别很不是专用的,只是这个函数的名字而已,你可以换成别的符合变量定义规范的名称、
'Boolean是VB中的布尔类型,有True和False两种值
precision = 55000 【precision是什么意思】
'此处变量precision没有预先申明就使用,不是很好,不过VB可以允许这样的写法,precision本身是精度的意思,现在用来当一个变量名称了
If Abs((X - x0) * (X - x0) + (y0 - Y) * (y0 - Y) - radius * radius) < precision Then
' Abs()是取绝对值的
'本身(X - x0) * (X - x0) + (y0 - Y) * (y0 - Y) = radius * radius 是数学里圆的定义公式
'而(X - x0) * (X - x0) + (y0 - Y) * (y0 - Y)算出点(X,Y)到(x0,y0)的距离的平方
'再减去radius * radius就是 点(X,Y)到圆周的距离的平方
'所以IF条件的意思是判断 点(X,Y)到圆周的距离在不在精度precision范围内
oncircle = True 【If 语句看不懂】
Else
oncircle = False
End If
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Const LEFT_BUTTON = 1
If oncircle(X, Y) Then 【我看到书上写着 X1 Y1定义object左上角的水平、垂直坐标 X2 Y2则是右下角的 都是这样吗?书上也没写什么前提条件】
'这个Form_MouseDown是一个窗口鼠标按下的事件,事件触发时调用该函数,这个函数是VB定义好的,函数名和参数都不能变
'参数里Button是鼠标事件类型,Shift是说你按鼠标的时候有没有同时按着Shift键,Y是鼠标在窗口上的横坐标,Y是纵坐标,都是单精度类型
'你说的X1 Y1定义object左上角的水平、垂直坐标没错,不过此处说的是鼠标按下时鼠标在窗口上的位置,就是纵横坐标
Line1.X1 = x0
Line1.Y1 = y0
'上边两句说的就是Line1左上角的水平、垂直坐标
If Button = LEFT_BUTTON Then
Line1.X2 = X
Line1.Y2 = Y
Else
Line1.X2 = Line1.X1
Line1.Y2 = y0 - Y
End If
Label1.Caption = ""
Else
Label1 = "鼠标位置不对"
End If
End Sub
'Const 是自定义常量的修饰符,Const y0& = 1110 等价于 Const y0 as long = 1110, &是long类型的简易表达
'从后边代码中可以得出,x0,y0是圆心的坐标,radius表示圆的半径
Private Function oncircle(X As Single, Y As Single) As Boolean 【请问oncircle是时钟指针专用的吗 Boolean是什么】
'这个oncircle没什么特别很不是专用的,只是这个函数的名字而已,你可以换成别的符合变量定义规范的名称、
'Boolean是VB中的布尔类型,有True和False两种值
precision = 55000 【precision是什么意思】
'此处变量precision没有预先申明就使用,不是很好,不过VB可以允许这样的写法,precision本身是精度的意思,现在用来当一个变量名称了
If Abs((X - x0) * (X - x0) + (y0 - Y) * (y0 - Y) - radius * radius) < precision Then
' Abs()是取绝对值的
'本身(X - x0) * (X - x0) + (y0 - Y) * (y0 - Y) = radius * radius 是数学里圆的定义公式
'而(X - x0) * (X - x0) + (y0 - Y) * (y0 - Y)算出点(X,Y)到(x0,y0)的距离的平方
'再减去radius * radius就是 点(X,Y)到圆周的距离的平方
'所以IF条件的意思是判断 点(X,Y)到圆周的距离在不在精度precision范围内
oncircle = True 【If 语句看不懂】
Else
oncircle = False
End If
End Function
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Const LEFT_BUTTON = 1
If oncircle(X, Y) Then 【我看到书上写着 X1 Y1定义object左上角的水平、垂直坐标 X2 Y2则是右下角的 都是这样吗?书上也没写什么前提条件】
'这个Form_MouseDown是一个窗口鼠标按下的事件,事件触发时调用该函数,这个函数是VB定义好的,函数名和参数都不能变
'参数里Button是鼠标事件类型,Shift是说你按鼠标的时候有没有同时按着Shift键,Y是鼠标在窗口上的横坐标,Y是纵坐标,都是单精度类型
'你说的X1 Y1定义object左上角的水平、垂直坐标没错,不过此处说的是鼠标按下时鼠标在窗口上的位置,就是纵横坐标
Line1.X1 = x0
Line1.Y1 = y0
'上边两句说的就是Line1左上角的水平、垂直坐标
If Button = LEFT_BUTTON Then
Line1.X2 = X
Line1.Y2 = Y
Else
Line1.X2 = Line1.X1
Line1.Y2 = y0 - Y
End If
Label1.Caption = ""
Else
Label1 = "鼠标位置不对"
End If
End Sub
展开全部
没有什么的呢,其实你首先要知道我们来模拟表的转动的原理就好了哈,VB语言也是很简单的呢,其实里面就是一些数学计算哈,很多地方都是自己定义的名字,并不是非要那个的哈
追问
= = 你这样说 我还是不懂啊。
追答
喔,QQ386859647用那个哈
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Timer1.Interval = 500
Form1.Height = 8085
Form1.Width = 9225
End Sub
Private Sub Timer1_Timer()
Cls
Scale (-2000, 2000)-(3000, -2200)
Line (0, 0)-(1000 * Sin(Second(Time) / 60 * 6.28), 1000 * Cos(Second(Time) / 60 * 6.28)), 255
Line (0, 0)-(800 * Sin(Minute(Time) / 60 * 6.28), 800 * Cos(Minute(Time) / 60 * 6.28)), 200
If Hour(Time) > 12 Then
Line (0, 0)-(600 * Sin((Hour(Time) - 12) / 12 * 6.28), 600 * Cos((Hour(Time) - 12) / 12 * 6.28)), 0
Else
Line (0, 0)-(600 * Sin(Hour(Time) / 12 * 6.28), 600 * Cos(Hour(Time) / 12 * 6.28)), 0
End If
Circle (0, 0), 1000
End Sub
Form1.Height = 8085
Form1.Width = 9225
End Sub
Private Sub Timer1_Timer()
Cls
Scale (-2000, 2000)-(3000, -2200)
Line (0, 0)-(1000 * Sin(Second(Time) / 60 * 6.28), 1000 * Cos(Second(Time) / 60 * 6.28)), 255
Line (0, 0)-(800 * Sin(Minute(Time) / 60 * 6.28), 800 * Cos(Minute(Time) / 60 * 6.28)), 200
If Hour(Time) > 12 Then
Line (0, 0)-(600 * Sin((Hour(Time) - 12) / 12 * 6.28), 600 * Cos((Hour(Time) - 12) / 12 * 6.28)), 0
Else
Line (0, 0)-(600 * Sin(Hour(Time) / 12 * 6.28), 600 * Cos(Hour(Time) / 12 * 6.28)), 0
End If
Circle (0, 0), 1000
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询