Differenze tra le versioni di "Codice essenziale per effettuare il Drag-Drop di un'immagine"

Da Gambas-it.org - Wikipedia.
Riga 3: Riga 3:
 
* la ''PictureBox'', <SPAN style="text-decoration:underline">nella</span> quale verrà effettuato il rilascio dell'icona dell'immagine trascinata, deve avere la sua proprietà ''.Drop'' posta a <FONT color=Darkred>''True''</font>;
 
* la ''PictureBox'', <SPAN style="text-decoration:underline">nella</span> quale verrà effettuato il rilascio dell'icona dell'immagine trascinata, deve avere la sua proprietà ''.Drop'' posta a <FONT color=Darkred>''True''</font>;
 
* la ''PictureBox'', <SPAN style="text-decoration:underline">dalla</span> quale viene ''prelevata'' e trascinata l'immagine (e quindi quella alla quale sarà applicato l'evento che scatena il ''prelevamento'' dell'immagine da trascinare), deve essere quella che ovviamente <SPAN style="text-decoration:underline">contiene</span> l'immagine;
 
* la ''PictureBox'', <SPAN style="text-decoration:underline">dalla</span> quale viene ''prelevata'' e trascinata l'immagine (e quindi quella alla quale sarà applicato l'evento che scatena il ''prelevamento'' dell'immagine da trascinare), deve essere quella che ovviamente <SPAN style="text-decoration:underline">contiene</span> l'immagine;
* l'evento che scatena il ''prelevamento'' dell'immagine da trascinare è <FONT color=darkred>''_MouseDrag()''</font>;
+
* l'Evento che consente il ''prelevamento'' dell'immagine da trascinare è <FONT color=darkred>"_MouseDrag()"</font>;
* all'interno della routine di questo evento si porrà la riga di comando: ''Drag.Icon = Last.Picture'', affinché durante il trascinamento appaia in prossimità del puntatore del mouse l'icona dell'immagine che si sta trascinando. Inoltre, sarà posta quest'altra riga: ''Last.Drag(Last.Picture.Image)'' per avviare il processo di ''trascinamento'', indicando nell'argomento del metodo ''Drag'' che i dati oggetto della procedura di ''Drag'' sono afferenti ad un'immagine (e non un testo);
+
* all'interno della routine di questo Evento si porrà la riga di comando: ''Drag.Icon = Last.Picture'', affinché durante il trascinamento appaia in prossimità del puntatore del mouse l'icona dell'immagine che si sta trascinando. Inoltre, sarà posta quest'altra riga: ''Last.Drag(Last.Picture.Image)'' per avviare il processo di ''trascinamento'', indicando nell'argomento del Metodo ".Drag()" che i dati, oggetto della procedura di ''Drag'', sono afferenti ad un'immagine (e non un testo);
* nella routine dell'evento ''Drop'' si assegnerà all'altra ''PictureBox'', che scatena il predetto ''Drop'', i dati dell'immagine oggetto del ''Drag''.
+
* nella routine dell'Evento "_Drop()" si assegnerà all'altra ''PictureBox'', che scatena il predetto ''Drop'', i dati dell'immagine oggetto del ''Drag''.
 
  '''Public''' Sub Form_Open()   
 
  '''Public''' Sub Form_Open()   
 
   
 
   

Versione delle 19:48, 26 nov 2022

Mostriamo di seguito un codice essenziali per effettuare il Drag-Drop [Nota 1] di un'immagine, ad esempio, da una PictureBox a un'altra.
In particolare:

  • la PictureBox, nella quale verrà effettuato il rilascio dell'icona dell'immagine trascinata, deve avere la sua proprietà .Drop posta a True;
  • la PictureBox, dalla quale viene prelevata e trascinata l'immagine (e quindi quella alla quale sarà applicato l'evento che scatena il prelevamento dell'immagine da trascinare), deve essere quella che ovviamente contiene l'immagine;
  • l'Evento che consente il prelevamento dell'immagine da trascinare è "_MouseDrag()";
  • all'interno della routine di questo Evento si porrà la riga di comando: Drag.Icon = Last.Picture, affinché durante il trascinamento appaia in prossimità del puntatore del mouse l'icona dell'immagine che si sta trascinando. Inoltre, sarà posta quest'altra riga: Last.Drag(Last.Picture.Image) per avviare il processo di trascinamento, indicando nell'argomento del Metodo ".Drag()" che i dati, oggetto della procedura di Drag, sono afferenti ad un'immagine (e non un testo);
  • nella routine dell'Evento "_Drop()" si assegnerà all'altra PictureBox, che scatena il predetto Drop, i dati dell'immagine oggetto del Drag.
Public Sub Form_Open()  

' Attiviamo la capacità della "PictureBox1" di ricevere con l'Evento "_Drop()" l'immagine trascinata:
 PictureBox1.Drop = True

 PictureBox2.Picture = Picture.Load("/percorso/del/file/immagine")

End

Public Sub PictureBox2_MouseDrag()  

' Preleviamo e trasciniamo l'immagine dalla "PictureBox2":
  Drag.Icon = Last.Picture    
  Last.Drag(Last.Picture.Image)
' ...o anche:
' Last.Drag(Drag.Icon.Image)

End  

Public Sub PictureBox1_Drop()  

' Rilasciamo l'immagine nella "PictureBox1":
 PictureBox1.Picture = Drag.Data.Picture  

End


Note

[1] Vedere anche:
- Drag&Drop
- Drag-Drop di un testo in una DrawingArea
- Drag-Drop di un'immagine in una DrawingArea
- Drag-Drop di un'immagine in una cella di una GridView
- Drag-Drop di un testo da una cella di una GridView ad una cella di un'altra GridView
- Spostare oggetti con il mouse all'interno di un contenitore mediante Drag&Drop