关于vb时钟程序的一点问题

DimaAsInteger,bAsInteger,radAsDoublePrivateSubForm_Load()a=Me.ScaleWidth\2'圆心X坐标b=Me.... Dim a As Integer, b As Integer, rad As Double
Private Sub Form_Load()
a = Me.ScaleWidth \ 2 '圆心X坐标
b = Me.ScaleHeight \ 2 '圆心Y坐标
rad = Atn(1) / 45 '1角度的弧度数
Me.DrawWidth = 2
End Sub

Private Sub Timer1_Timer()
Dim angle1 As Double, angle2 As Double, angle3 As Double
angle1 = ((Hour(Now) Mod 12) * 30 + Minute(Now) / 2 - 90) * rad '时针的角度
angle2 = (Minute(Now) * 6 + Second(Now) / 10 - 90) * rad '分针的角度
angle3 = (Second(Now) * 6 - 90) * rad '秒针的角度
Cls '清除画面,以便画下一秒的状态
Me.Circle (a, b), 720 '画石英钟轮廓
For i = 1 To 12
Me.CurrentX = a - IIf(i < 7, 115, 170) + 600 * Cos((i * 30 - 90) * rad) '刻度X坐标
Me.CurrentY = b - 90 + 600 * Sin((i * 30 - 90) * rad) '刻度Y坐标
Print i '画刻度
Next
Me.Line (a, b)-(a + 300 * Cos(angle1), b + 250 * Sin(angle1)), vbBlue '画时针
Me.Line (a, b)-(a + 400 * Cos(angle2), b + 550 * Sin(angle2)), vbBlue '画分针
Me.Line (a, b)-(a + 600 * Cos(angle3), b + 600 * Sin(angle3)), vbRed '画秒针
End Sub
其中
Me.CurrentX = a - IIf(i < 7, 115, 170) + 600 * Cos((i * 30 - 90) * rad) '刻度X坐标
Me.CurrentY = b - 90 + 600 * Sin((i * 30 - 90) * rad) '刻度Y坐标
a-IIf(i<7,115,170)和b-90是什么意思?是什么作用
语句的意思我是知道的~~我想问的就是为什么要这么做
展开
 我来答
ssssongfh
2009-04-17 · TA获得超过365个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:144万
展开全部
第一个Me.CurrentX = a-IIf(i<7,115,170)的意思就是如果i<7那么Me.CurrentX = a-115 else Me.CurrentX = a - 170

第二个是调整位置,把打印的字的位置稍往上移,以3点位置为例,把3 上移一点,让指针正好指在3中间位置
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
司徒惊月
2009-04-16 · TA获得超过1726个赞
知道大有可为答主
回答量:4186
采纳率:0%
帮助的人:1606万
展开全部
应该是调整细节位置吧。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zl520878
2009-04-16 · TA获得超过405个赞
知道答主
回答量:505
采纳率:0%
帮助的人:374万
展开全部
第一个Me.CurrentX = a-IIf(i<7,115,170)的意思就是如果i<7那么Me.CurrentX = a-115 else Me.CurrentX = a - 170
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式