Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191

    [VB6]Cancellare linea da picturebox...

    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?

  2. #2

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Hmm cioè?...Non ho capito molto bene...

  4. #4
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Non c'è molto da capire, non saprei come dirtelo con altre parole... Comunque ci tento:

    Riscrivi la linea con le stesse coordinate che hai usato per disegnarla, però questa volta usando il colore di sfondo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Quindi è come se rimanesse li, ma non si vede...Questa potrebbe essere uan soluzione...
    Una cosa però, eliminarla proprio definitivamente non si può?

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Adesso sono io che non capisco.
    Se elimini la linea, ovvero ripristini il colore di sfondo, come fa ad essere ancora lì?

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Cioè se per esempio io andassi a cambiare il colore di sfondo, lei risalterebbe fuori, o sbaglio?

  8. #8

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    191
    Quindi non è un metodo molto efficace...Cancellarla proprio del tutto non si può?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.