Differenze tra le versioni di "Mantenere durante il Drag&Drop il cursore del mouse nel punto dell'immagine ove si è cliccato"
Da Gambas-it.org - Wikipedia.
Riga 3: | Riga 3: | ||
Mostriamo un semplice esempio pratico: | Mostriamo un semplice esempio pratico: | ||
− | + | Public Sub Form_Open() | |
<FONT Color=gray>' ''Attiviamo la capacità della "PictureBox1" di ricevere con l'Evento "_Drop()" l'immagine trascinata:''</font> | <FONT Color=gray>' ''Attiviamo la capacità della "PictureBox1" di ricevere con l'Evento "_Drop()" l'immagine trascinata:''</font> | ||
Riga 10: | Riga 10: | ||
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 | |
− | + | ||
+ | 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> | ||
Riga 20: | Riga 21: | ||
' Last.Drag(Drag.Icon.Image)''</font> | ' Last.Drag(Drag.Icon.Image)''</font> | ||
− | + | End | |
− | + | ||
+ | Public Sub PictureBox2<FONT Color=orange>_MouseMove()</font> | ||
<FONT Color=gray>' ''Cancella l'immagine rilasciata precedentemente nella "PictureBox1":''</font> | <FONT Color=gray>' ''Cancella l'immagine rilasciata precedentemente nella "PictureBox1":''</font> | ||
Riga 30: | Riga 32: | ||
Drag.IconY = Mouse.Y</font> | Drag.IconY = Mouse.Y</font> | ||
− | + | End | |
+ | |||
− | + | Public Sub PictureBox1_Drop() | |
<FONT Color=gray>' ''Rilasciamo l'immagine nella "PictureBox1":''</font> | <FONT Color=gray>' ''Rilasciamo l'immagine nella "PictureBox1":''</font> | ||
Riga 39: | Riga 42: | ||
' PictureBox1.Image = Drag.Icon.Image''</font> | ' PictureBox1.Image = Drag.Icon.Image''</font> | ||
− | + | End |
Versione attuale delle 13:17, 22 giu 2024
Di norma durante il trascinamento di un'immagine con le risorse, apprestate da Gambas per il Drag&Drop, il cursore del mouse si pone poco al di fuori dell'angolo destro in alto dell'icona trascinata.
Se si intende mantenere invece il cursore del mouse nel punto, ove si è cliccato, prima dell'inizio del trascinamento, allora si dovranno assegnare alle Proprietà ".X" e ".Y" della Classe Drag i valori ritornati dalle Proprietà ".X" e ".Y" della Classe Mouse all'interno della routine dell'Evento "_MouseMove()" della PictureBox, dalla quale si trascina l'immagine.
Mostriamo un semplice esempio pratico:
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 PictureBox2_MouseMove() ' Cancella l'immagine rilasciata precedentemente nella "PictureBox1": PictureBox1.Picture = Null Drag.IconX = Mouse.X Drag.IconY = Mouse.Y End Public Sub PictureBox1_Drop() ' Rilasciamo l'immagine nella "PictureBox1": PictureBox1.Picture = Drag.Data.Picture ' ...o anche: ' PictureBox1.Image = Drag.Icon.Image End