Public Function DrawLine(ByRef picGraph As PictureBox, ByVal sngWidth As Single, _
ByVal lngColor As Long, ByVal sngLineFromX As Single, _
ByVal sngLineFromY As Single, ByVal sngLineToX As Single, _
ByVal sngLineToY As Single, ByVal sngFullLen As Single, _
ByVal sngEmptyLen As Single) As Boolean
Dim sngX As Single 'The length of X
Dim sngY As Single 'The length of Y
Dim sngDXFull As Single
Dim sngDYFull As Single
Dim sngDXEmpty As Single
Dim sngDYEmpty As Single
Dim sngZ As Single
Dim sngFromX As Single
Dim sngFromY As Single
Dim N As Long
picGraph.DrawWidth = sngWidth
sngX = sngLineToX - sngLineFromX
sngY = sngLineToY - sngLineFromY
sngZ = Sqr(sngX * sngX + sngX * sngX)
sngDXFull = (sngX * sngFullLen) / sngZ
sngDYFull = (sngY * sngFullLen) / sngZ
sngDXEmpty = (sngX * sngEmptyLen) / sngZ
sngDYEmpty = (sngY * sngEmptyLen) / sngZ
N = 0
sngFromX = sngLineFromX
sngFromY = sngLineFromY
While sngFromX + sngDXFull < sngLineToX Or sngFromX + sngDXEmpty < sngLineToX
If N Mod 2 = 0 Then
picGraph.Line (sngFromX, sngFromY)-(sngFromX + sngDXFull, sngFromY + sngDYFull), lngColor
sngFromX = sngFromX + sngDXFull
sngFromY = sngFromY + sngDYFull
Else
picGraph.Line (sngFromX, sngFromY)-(sngFromX + sngDXEmpty, sngFromY + sngDYEmpty), picGraph.BackColor
sngFromX = sngFromX + sngDXEmpty
sngFromY = sngFromY + sngDYEmpty
End If
N = N + 1
Wend
End Function
ByVal lngColor As Long, ByVal sngLineFromX As Single, _
ByVal sngLineFromY As Single, ByVal sngLineToX As Single, _
ByVal sngLineToY As Single, ByVal sngFullLen As Single, _
ByVal sngEmptyLen As Single) As Boolean
Dim sngX As Single 'The length of X
Dim sngY As Single 'The length of Y
Dim sngDXFull As Single
Dim sngDYFull As Single
Dim sngDXEmpty As Single
Dim sngDYEmpty As Single
Dim sngZ As Single
Dim sngFromX As Single
Dim sngFromY As Single
Dim N As Long
picGraph.DrawWidth = sngWidth
sngX = sngLineToX - sngLineFromX
sngY = sngLineToY - sngLineFromY
sngZ = Sqr(sngX * sngX + sngX * sngX)
sngDXFull = (sngX * sngFullLen) / sngZ
sngDYFull = (sngY * sngFullLen) / sngZ
sngDXEmpty = (sngX * sngEmptyLen) / sngZ
sngDYEmpty = (sngY * sngEmptyLen) / sngZ
N = 0
sngFromX = sngLineFromX
sngFromY = sngLineFromY
While sngFromX + sngDXFull < sngLineToX Or sngFromX + sngDXEmpty < sngLineToX
If N Mod 2 = 0 Then
picGraph.Line (sngFromX, sngFromY)-(sngFromX + sngDXFull, sngFromY + sngDYFull), lngColor
sngFromX = sngFromX + sngDXFull
sngFromY = sngFromY + sngDYFull
Else
picGraph.Line (sngFromX, sngFromY)-(sngFromX + sngDXEmpty, sngFromY + sngDYEmpty), picGraph.BackColor
sngFromX = sngFromX + sngDXEmpty
sngFromY = sngFromY + sngDYEmpty
End If
N = N + 1
Wend
End Function