+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

Drag&drop creazione oggetto

  1. #1
    alex__ice non  in linea Scolaretto
    Post
    109
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao,

    ho un piccolo problemino sulla creazione degli oggetti a run time con immediato drag&drop.
    Sono riuscito a creare l'oggetto, ad esempio un pulsante e quindi successivamente a muoverlo.
    Il mio obiettivo sarebbe quello di effettuare l'immediato spostamento dell'oggetto nel momento in cui lo creo, possibile?

     Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureTextBox.MouseDown
            Dim b As New Button
            b.Text = "Pulsante" & counter.ToString
            b.Location = New Point(PictureTextBox.Location.X, PictureTextBox.Location.Y)
    
            counter += 1
            AddHandler b.Click, AddressOf btns_click
            AddHandler b.MouseDown, AddressOf btns_MouseDown
            Me.Controls.Add(b)
        End Sub
    
        Private Sub btns_click(ByVal sender As Object, ByVal e As EventArgs)
            MsgBox(DirectCast(sender, Button).Text & " clicked")
        End Sub
    
        Private Sub btns_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
            Dim btn As Button = DirectCast(sender, Button)
            btn.Capture = False
    
            Const WM_NCLBUTTONDOWN As Integer = &HA1
            Const HTCAPTION As Integer = &H2
    
            Dim msg As Message =
                Message.Create(btn.Handle, WM_NCLBUTTONDOWN,
                    New IntPtr(HTCAPTION), IntPtr.Zero)
    
            Me.DefWndProc(msg)
        End Sub
    
    Grazie

  2. #2
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Se vuoi spostare il bottone ti servono gli eventi mouseup mousedown e mousemove e certamente non quel codice nel mousedown con cui non si capisce cosa volevi fare.
    ℹ️ Leggi di pi su AntonioG ...

  3. #3
    L'avatar di Brontolo
    Brontolo non  in linea Very Important Person
    Post
    3,132
    Like Inviati  
    5
    Like Ricevuti  
    4
    Non chiaro cosa intendi con "immediato spostamento". Se vuoi che l'oggetto appena creato compaia in un punto diverso del form devi impostare le sue coordinate (Location) a quel punto. Mi sembra che il Drag & Drop c'entri poco. Comunque, per il Drag & Dropo, esistono gli appositi eventi DragEnter, DragLeave, DragDrop.
    Infine, che cos' PictureTextBox?
    ℹ️ Leggi di pi su Brontolo ...

  4. #4
    alex__ice non  in linea Scolaretto
    Post
    109
    Like Inviati  
    0
    Like Ricevuti  
    0
    Ciao,
    cerco di spiegarmi meglio, il mio obiettivo di replicare un editor.
    Ovvero premendo ad esempio su una PictureBox che ho creato ed ho chiamato "PicturTextBox", viene creata una nuova casella di testo che quindi viene trascinanata in un punto qualsiasi, cosi come avviene attualmente per l'editor del Visual Studio.

    Quello che riesco a fare attualmente invece creare una casella di testo e quindi spostarla, ma il mio intento oltre a questo quello che ho indicato nel punto sopra, spero di aver scritto meglio la mia richiesta, se possibile crearla.

    Grazie

  5. #5
    L'avatar di Brontolo
    Brontolo non  in linea Very Important Person
    Post
    3,132
    Like Inviati  
    5
    Like Ricevuti  
    4
    Quote Originariamente inviato da alex__ice Visualizza il messaggio
    ... in un punto qualsiasi ...
    Il punto qualsiasi quello indicato dalle coordinate X e Y che specifichi in questa istruzione:
    b.Location = New Point(PictureTextBox.Location.X, PictureTextBox.Location.Y)
    
    ℹ️ Leggi di pi su Brontolo ...

  6. #6
    alex__ice non  in linea Scolaretto
    Post
    109
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    Il punto qualsiasi quello indicato dalle coordinate X e Y che specifichi in questa istruzione:
    b.Location = New Point(PictureTextBox.Location.X, PictureTextBox.Location.Y)
    
    Avevo gi provato ad aggiungere questa riga, ma il mio desiderata poterlo trascinare subito come in Visual Studio.

    In questo modo prima creo l'oggetto nella posizione e poi lo posso spostare:

     Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureTextBox.MouseDown
            Dim b As New Button
            b.Text = "Pulsante" & counter.ToString
            b.Location = New Point(PictureTextBox.Location.X, PictureTextBox.Location.Y)
            b.AllowDrop = True
            counter += 1
            AddHandler b.Click, AddressOf btns_click
            AddHandler b.MouseDown, AddressOf btns_MouseDown
            Me.Controls.Add(b)
        End Sub
    
        Private Sub btns_click(ByVal sender As Object, ByVal e As EventArgs)
            MsgBox(DirectCast(sender, Button).Text & " clicked")
        End Sub
    
        Private Sub btns_MouseDown(ByVal sender As Object, ByVal e As MouseEventArgs)
            Dim btn As Button = DirectCast(sender, Button)
            btn.Capture = False
    
            Const WM_NCLBUTTONDOWN As Integer = &HA1
            Const HTCAPTION As Integer = &H2
    
            Dim msg As Message =
                Message.Create(btn.Handle, WM_NCLBUTTONDOWN,
                    New IntPtr(HTCAPTION), IntPtr.Zero)
    
            Me.DefWndProc(msg)
        End Sub
    

  7. #7
    L'avatar di Brontolo
    Brontolo non  in linea Very Important Person
    Post
    3,132
    Like Inviati  
    5
    Like Ricevuti  
    4
    Che fatica per a capirsi! Allora si torna al Drag 'n Drop. Quindi leggi la documentazione sugli eventi che ti ho indicato due post fa.
    Praticamente quando clicchi sul PictureTextBox (MouseDown) crei la Textbox e inizi il Drag.
    ℹ️ Leggi di pi su Brontolo ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Drag And drop
    Da M4ndr4k377 nel forum C#
    Risposte: 3
    Ultimo Post: 01-10-2015, 08:44
  2. Drag&Drop
    Da IOprogrammo nel forum Visual Basic .Net
    Risposte: 12
    Ultimo Post: 29-01-2008, 10:00
  3. Owner di un oggetto dopo il drag&drop
    Da soucer2k6 nel forum Visual Basic 6
    Risposte: 3
    Ultimo Post: 06-02-2007, 22:52
  4. Drag & Drop
    Da barney..grumble nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 23-04-2006, 13:39
  5. Drag’n Drop
    Da Bubino nel forum Visual Basic 6
    Risposte: 2
    Ultimo Post: 22-01-2005, 01:29