Jag har en sub som heter CheckLines och ser ut så här... Kul att du fick användning av min funktion! jo din sub funkade ju tills ja va tvungen att ändra lite =) men har lite frågor. 1. För då kan du returnera ett värde.Sub
    
    
Private Sub CheckLines(X As Single, Y As Single)
Dim iLine As Integer
For iLine = Line1.LBound To Line1.UBound
    If NearLine(Line1(iLine), X, Y) Then
        Line1(iLine).BorderColor = 255
        Line1(iLine).BorderWidth = 3
    Else
        Line1(iLine).BorderColor = 0
        Line1(iLine).BorderWidth = 1
    End If
Next iLine
End Sub
den kollar om man håller musen över en linje och gör linje fet och röd om man gör det...
jag kallar på den genom att skirva:
CheckLines X, Y
nu skulle ja villja kalla på den och samtidigt kolla om det är så att den är över en linje men nån liknadne kod:
if CheckLines X, Y = true then
typ men det funkar ju inte 
syntax error på X:et
på något sätt måste man kunna göra det! men hur?
MVH/simonSv: Sub
    
    
Byt ut suben till en function:
Private Function CheckLines(X As Single, Y As Single) As Boolean
    Dim iLine As Integer
    For iLine = Line1.LBound To Line1.UBound
        If NearLine(Line1(iLine), X, Y) Then
            Line1(iLine).BorderColor = 255
            Line1(iLine).BorderWidth = 3
            CheckLines=True
        Else
            Line1(iLine).BorderColor = 0
            Line1(iLine).BorderWidth = 1
        End If
    Next iLine
End Function
För övrigt skulle jag ha kallat linjerna för linLines istället (Line1 är lite fult :) )
Ett annat alternativ är att returnera ett nummer (med antalet linjer eller en av linjerna).
Private Function CheckLines(X As Single, Y As Single) As Integer
    Dim iLine As Integer
    For iLine = Line1.LBound To Line1.UBound
        If NearLine(Line1(iLine), X, Y) Then
            Line1(iLine).BorderColor = 255
            Line1(iLine).BorderWidth = 3
            CheckLines = CheckLines + 1 
        Else
            Line1(iLine).BorderColor = 0
            Line1(iLine).BorderWidth = 1
        End If
    Next iLine
End Function
resp.
Private Function CheckLines(X As Single, Y As Single) As Integer
    Dim iLine As Integer
    For iLine = Line1.LBound To Line1.UBound
        If NearLine(Line1(iLine), X, Y) Then
            Line1(iLine).BorderColor = 255
            Line1(iLine).BorderWidth = 3
            CheckLines = iLine
        Else
            Line1(iLine).BorderColor = 0
            Line1(iLine).BorderWidth = 1
        End If
    Next iLine
End Function
Är det väldigt viktigt att veta alla linjer som är i närheten så kan du skriva (tror jag - har inte testat):
Private Function CheckLines(X As Single, Y As Single) As Collection
    Dim iLine As Integer
    For iLine = Line1.LBound To Line1.UBound
        If NearLine(Line1(iLine), X, Y) Then
            Line1(iLine).BorderColor = 255
            Line1(iLine).BorderWidth = 3
            CheckLines.Add iLine
        Else
            Line1(iLine).BorderColor = 0
            Line1(iLine).BorderWidth = 1
        End If
    Next iLine
End Function
/Niklas JanssonSv: Sub
    
    
1.
varför ska man byta ut den till function?
2.
hur anroppar man den?Sv: Sub
    
    
2. If CheckLines(X,Y) = True Then ...
/Niklas Jansson