Salve a tutti, ho una picture in cui disegno delle linee tramite questo modo:
codice:
Dim oldX As Single, oldY As Single
Dim selX As Single, selY As Single
'Array Linee
Dim arrX1(1000) As Single
Dim arrX2(1000) As Single
Dim arrY1(1000) As Single
Dim arrY2(1000) As Single
Dim iNumLinee As Integer
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = vbRightButton Then
Toolbar1.Tag = ""
Picture1.PaintPicture Picture2.Image, 0, 0
Exit Sub
End If
Select Case Toolbar1.Tag
Case "linea"
If oldX <> -1 Then
Picture2.PaintPicture Picture1.Image, 0, 0
Else
'Aggiunge le coordinate della linea negli array delle linee
arrX1(iNumLinee) = oldX
arrX2(iNumLinee) = X
arrY1(iNumLinee) = oldY
arrY2(iNumLinee) = Y
iNumLinee = iNumLinee + 1
End If
oldX = X
oldY = Y
End Select
End Sub
Private Sub Picture1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
If oldX = -1 Then Exit Sub
Select Case Toolbar1.Tag
Case "linea" 'Disegna il rettangolo
Picture1.PaintPicture Picture2.Image, 0, 0
Picture1.Line (oldX, oldY)-(X, Y), RGB(0, 0, 0)
End Select
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Toolbar1.Tag = ""
Select Case Button.Key
Case "linea"
Toolbar1.Tag = "linea"
oldX = -1: oldY = -1
End Select
End Sub
Il mio problema è: come faccio per esempio a cancellare solo la quarta o la quinta linea che ho disegnato?