Differenze tra le versioni di "Codice essenziale per effettuare il Drag-Drop di un'immagine"
Da Gambas-it.org - Wikipedia.
Riga 7: | Riga 7: | ||
* 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() | ||
− | + | ||
<FONT color=gray>' ''Attiviamo la capacità della "PictureBox1" di ricevere con il "_Drop()" l'immagine trascinata:''</font> | <FONT color=gray>' ''Attiviamo la capacità della "PictureBox1" di ricevere con il "_Drop()" l'immagine trascinata:''</font> | ||
PictureBox1.Drop = True | PictureBox1.Drop = True | ||
− | + | ||
PictureBox2.Picture = Picture.Load("<FONT Color=gray>''/percorso/del/file/immagine''</font>") | PictureBox2.Picture = Picture.Load("<FONT Color=gray>''/percorso/del/file/immagine''</font>") | ||
− | + | ||
'''End''' | '''End''' | ||
− | |||
'''Public''' Sub PictureBox2_MouseDrag() | '''Public''' Sub PictureBox2_MouseDrag() | ||
− | + | ||
<FONT color=gray>' ''Preleviamo e trasciniamo l'immagine dalla "PictureBox2":''</font> | <FONT color=gray>' ''Preleviamo e trasciniamo l'immagine dalla "PictureBox2":''</font> | ||
Drag.Icon = Last.Picture | Drag.Icon = Last.Picture | ||
Riga 23: | Riga 22: | ||
<FONT color=gray>' ''...o anche:'' | <FONT color=gray>' ''...o anche:'' | ||
' '''Last.Drag(Drag.Icon.Image)'''</font> | ' '''Last.Drag(Drag.Icon.Image)'''</font> | ||
− | + | ||
'''End''' | '''End''' | ||
− | + | ||
'''Public''' Sub PictureBox1_Drop() | '''Public''' Sub PictureBox1_Drop() | ||
− | + | ||
<FONT color=gray>' ''Rilasciamo l'immagine nella "PictureBox1":''</font> | <FONT color=gray>' ''Rilasciamo l'immagine nella "PictureBox1":''</font> | ||
PictureBox1.Picture = Drag.Data.Picture | PictureBox1.Picture = Drag.Data.Picture | ||
− | + | ||
'''End''' | '''End''' | ||
Versione delle 19:44, 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 scatena 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 il "_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