回 帖 发 新 帖 刷新版面

主题:制作小闹钟的关键代码和相关控件是什么?

我是名初学者,想自己编一个闹钟(不是数字钟),但是在制作闹钟的指针时,不知道用什么控件,各位高手,谁如果会,麻烦大哥把代码和控件写一下给我,好吗?

回复列表 (共12个回复)

沙发

下面是我自己使用的小巧时钟代码:

需要一个图片框(改其名称为“Pic2”),一个计时器(Interval=1000),并且,窗体和Pic2的Scalemode属性均设置为3,Pic2的AutoRedraw属性设置为True。

Option Explicit

Dim w As Integer, h As Integer '钟面圆中心坐标
Dim X3 As Integer, Y3 As Integer, Fe As Integer

Private Sub Form_Load()
w = Pic2.ScaleWidth / 2: h = Pic2.ScaleHeight / 2
End Sub

Private Sub Timer1_Timer()
On Error Resume Next
    Dim X As Integer, Y As Integer, F As Integer, S As Integer, M As Integer
    Const P = 0.1047197551
    M = Second(Time) '获取当前秒数
    F = Minute(Time) '获取当前分数
    S = Hour(Time)   '获取当前小时数
    If F <> Fe Then
      Fe = F: X3 = 999: Pic2.Cls
      绘制钟面
      Pic2.DrawWidth = 4
      X = 27 * Sin((S * 5 + F / 12) * P) + w
      Y = -27 * Cos((S * 5 + F / 12) * P) + h
      Pic2.Line (w, h)-(X, Y)
      Pic2.DrawWidth = 2: Pic2.DrawMode = 13
      X = 36 * Sin(F * P) + w
      Y = -36 * Cos(F * P) + h
      Pic2.Line (w, h)-(X, Y)
      Pic2.DrawWidth = 1: Pic2.DrawMode = 10
    End If
    X = 48 * Sin(M * P) + w: Y = -48 * Cos(M * P) + h
    If X3 < 999 Then Pic2.Line (w, h)-(X3, Y3), 255 '清除上次的作图
    Pic2.Line (w, h)-(X, Y), 255
    X3 = X: Y3 = Y
End Sub

Sub 绘制钟面()
With Pic2
  Pic2.Circle (w, h), 50, &H8000&
  .ForeColor = 255
  .CurrentX = w + 35: .CurrentY = h - 6: Pic2.Print 3
  .CurrentX = w - 8: .CurrentY = h + 36: Pic2.Print 6
  .CurrentX = w - 53: .CurrentY = h - 6: Pic2.Print 9
  .CurrentX = w - 12: .CurrentY = h - 49: Pic2.Print 12
  .ForeColor = 0
  .CurrentX = w + 16: .CurrentY = h - 44: Pic2.Print 1
  .CurrentX = w + 32: .CurrentY = h - 28: Pic2.Print 2
  .CurrentX = w + 29: .CurrentY = h + 16: Pic2.Print 4
  .CurrentX = w + 13: .CurrentY = h + 32: Pic2.Print 5
  .CurrentX = w - 32: .CurrentY = h + 32: Pic2.Print 7
  .CurrentX = w - 47: .CurrentY = h + 15: Pic2.Print 8
  .CurrentX = w - 51: .CurrentY = h - 27: Pic2.Print 10
  .CurrentX = w - 34: .CurrentY = h - 44: Pic2.Print 11
End With
End Sub

板凳

用line吧,很简单,就是有点难看!

3 楼


line 怎么用呀,我上次用了,但是不知道怎么写代码,给我说说吧!

4 楼


    高手,我做的是指针,不是钟面,还有,就是,怎么把这个程序的运行界面变成远行的,请你帮帮我吧!

5 楼

上传一个钟的实例给你参考,在这里:http://file.pfan.cn/upfile/200807032059729.rar

6 楼


谢谢你,一江秋水!

7 楼


一江春水,很多问题想问你,我是初学者,想向你请教一下,请问你的QQ号

8 楼

我与老婆共用一个QQ(呵呵,表示我们之间无隐私),发到我的信箱吧:wangzhichao_812@msn.com

9 楼

啊?一江秋水,竟然是男的!哈哈哈哈哈,我一直以为是女的!哈哈哈哈哈

10 楼


老大,怎么得到积分呀?

我来回复

您尚未登录,请登录后再回复。点此登录或注册