伊莉討論區

標題: VB 如何做出像引擎轉速表的那種感覺 [打印本頁]

作者: beyle    時間: 2017-3-21 07:55 AM     標題: VB 如何做出像引擎轉速表的那種感覺

我想要做一個量化的指標,
圖型是用類似引擎轉速表圓形的模式,
不知那位高手指導一下....
作者: tryit244178    時間: 2017-3-22 06:27 AM

噢…不讓我貼連結,那貼關鍵字給你
你搜尋一下 【 VB 6 】指針式時鐘-動態指針的製作原理
作者: Jeepluo    時間: 2017-4-8 09:00 PM

程式碼太長了,可以用「Analogue Clock」關鍵字找到圖及範例
就不知道是否你要的部份了
作者: Waroger    時間: 2018-6-8 12:54 PM

10幾年前用VB6寫的指針事時鐘,你參考看看
  1. '表單放置1個Timer及1個VScrollBar
  2. Const Pi = 3.14159265358979
  3. Dim X&, Y&, R&, Hh%, Mm%, Ss%
  4.     Private Sub Form_Load()
  5.     Dim A&, B&, I%, J$, W%, H%
  6.    
  7.     X = ScaleWidth \ 2: Y = ScaleHeight \ 2
  8.     R = X: If Y < X Then R = Y
  9.     R = R - 120
  10.     AutoRedraw = True: DrawWidth = 1: ForeColor = 0
  11.     J = 255
  12.     For I = R To R + 90
  13.         Circle (X, Y), I, RGB(J, 0, J)
  14.         J = J - 1
  15.     Next
  16.     J = 1
  17.     For I = 210 To 540 Step 30
  18.         W = TextWidth(J) \ 2
  19.         H = TextHeight(J) \ 2
  20.         CurrentX = X - Sin(I / 180 * Pi) * (R - W * 2) - W
  21.         CurrentY = Y + Cos(I / 180 * Pi) * (R - H * 2) - H
  22.         Print J: J = J + 1
  23.     Next
  24.     R = R - H * 3
  25.     Picture = Image
  26.     VScroll1.Max = 1000: VScroll1.Min = 10: VScroll1 = 1000
  27.     Hh = Hour(Now): Mm = Minute(Now): Ss = Second(Now)
  28.     Timer1.Enabled = True
  29. End Sub

  30. Private Sub Timer1_Timer()
  31.     Dim S%, I%, J%
  32.    
  33.     Cls
  34.    
  35.     DrawWidth = 4
  36.     S = ((Hh Mod 12) + Mm / 60) * 30 + 180
  37.     I = X - Sin(S / 180 * Pi) * R * 0.6
  38.     J = Y + Cos(S / 180 * Pi) * R * 0.6
  39.     Line (X, Y)-(I, J)
  40.     DrawWidth = 2
  41.     S = Mm * 6 + 180
  42.     I = X - Sin(S / 180 * Pi) * R * 0.8
  43.     J = Y + Cos(S / 180 * Pi) * R * 0.8
  44.     Line (X, Y)-(I, J)
  45.     DrawWidth = 1
  46.     S = Ss * 6 + 180
  47.     I = X - Sin(S / 180 * Pi) * R
  48.     J = Y + Cos(S / 180 * Pi) * R
  49.     Line (X, Y)-(I, J)
  50.     Ss = Ss + 1
  51.     If Ss > 59 Then Mm = Mm + 1: Ss = 0
  52.     If Mm > 59 Then Hh = Hh + 1: Mm = 0
  53.     If Hh > 12 Then Hh = 1
  54.    
  55. End Sub

  56. Private Sub VScroll1_Change()
  57.     Timer1.Interval = VScroll1
  58. End Sub

  59. Private Sub VScroll1_Scroll()
  60.     Timer1.Interval = VScroll1
  61. End Sub
複製代碼

作者: virdoll    時間: 2018-7-13 12:00 PM

關鍵字 「vb gauge」,就可以找到螿多的例子參考了。




歡迎光臨 伊莉討論區 (http://a04.eyny.com/) Powered by Discuz!