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.
(Creata pagina con "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...")
 
Riga 1: Riga 1:
 
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.
 
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.
<BR>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''.
+
<BR>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:
 
Mostriamo un semplice esempio pratico:
Riga 8: Riga 8:
 
   PictureBox1.Drop = True
 
   PictureBox1.Drop = True
 
   
 
   
   PictureBox2.Picture = Picture.Load(")
+
   PictureBox2.Picture = Picture.Load("<FONT Color=gray>''/percorso/del/file/immagine''</font>")
 
   
 
   
 
  '''End'''
 
  '''End'''
 
+
Public Sub PictureBox2_MouseDrag()   
+
'''Public''' Sub PictureBox2_MouseDrag()   
 
+
' Preleviamo e trasciniamo l'immagine dalla "PictureBox2":
+
<FONT Color=gray>' ''Preleviamo e trasciniamo l'immagine dalla "PictureBox2":''</font>
 
   Drag.Icon = Last.Picture     
 
   Drag.Icon = Last.Picture     
 
   Last.Drag(Last.Picture.Image)
 
   Last.Drag(Last.Picture.Image)
' ...o anche:
+
<FONT Color=gray>' ''...o anche:''
' Last.Drag(Drag.Icon.Image)
+
' Last.Drag(Drag.Icon.Image)''</font>
 
+
End   
+
'''End'''
 
+
   
Public Sub PictureBox2_MouseMove()
+
'''Public''' Sub PictureBox2<FONT Color=orange>_MouseMove()</font>
 
+
   Drag.IconX = Mouse.X
+
   <FONT Color=#B22222>Drag.IconX = Mouse.X
   Drag.IconY = Mouse.Y
+
   Drag.IconY = Mouse.Y</font>
 
+
End
+
'''End'''
 
+
Public Sub PictureBox1_Drop()   
+
'''Public''' Sub PictureBox1_Drop()   
 
+
' Rilasciamo l'immagine nella "PictureBox1":
+
<FONT Color=gray>' ''Rilasciamo l'immagine nella "PictureBox1":''</font>
 
  PictureBox1.Picture = Drag.Data.Picture
 
  PictureBox1.Picture = Drag.Data.Picture
  ' ...o anche:
+
  <FONT Color=gray>' ''...o anche:''
' PictureBox1.Image = Drag.Icon.Image
+
' PictureBox1.Image = Drag.Icon.Image''</font>
 
+
End
+
'''End'''

Versione delle 09:01, 27 nov 2022

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()

 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