VB.NET写的支持多曲线的历史曲线控件源码 (4)
If m_ShowTimeScale Then
For i = .ScaleWidth / m_Spaced To .ScaleWidth / m_Spaced - m_Time.Count + 1 Step -1
Index = .ScaleWidth / m_Spaced - i + 1 If Index > 0 And Index <= m_Time.Count Then
If m_Time(Index) <> 0 And m_Time(Index) <> t Then
.CurrentX = i * m_Spaced
.CurrentY = .ScaleHeight - 15
t = m_Time(Index)
UserControl.Print Format(t, "hh:nn:ss")
End If
End If
Next
End If
s:
’纵坐标
If m_ShowValueScale Then
If m_ValueScale = 0 Then Exit Sub
For i = 0 To MaxValue / m_ValueScale
.CurrentY = Int(.ScaleHeight / (MaxValue / m_ValueScale)) * i
.CurrentX = 0
UserControl.Print MaxValue - Int(MaxValue * i / (MaxValue / m_ValueScale))
Next End If
End With
DoEvents
End Sub
使用方法:
设置好各项属性后:
Option Explicit
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Private Sub Command1()
Graph.AddGraph ColorConstants.vbRed
Graph.AddGraph ColorConstants.vbBlue
Graph.AddGraph ColorConstants.vbGreen
Dim v1, v2, v3
Do
Randomize
v1 = Int(Rnd * 100)
Randomize
v2 = Int(Rnd * 100)
Randomize
v3 = Int(Rnd * 100)
Call Graph.AddValue(v1, v2, v3, 5)
Sleep 50: DoEvents
Loop
End Sub

[
1] [
2] [
3]
[4] 