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...")
 
 
(2 versioni intermedie di uno stesso utente non sono mostrate)
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:
  '''Public''' Sub Form_Open()   
+
  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>
 
   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
+
   Drag.IconY = Mouse.Y
+
<FONT Color=gray>' ''Cancella l'immagine rilasciata precedentemente nella "PictureBox1":''</font>
 
+
   PictureBox1.Picture = Null
End
+
 
+
  <FONT Color=#B22222>Drag.IconX = Mouse.X
Public Sub PictureBox1_Drop()   
+
   Drag.IconY = Mouse.Y</font>
 
+
' Rilasciamo l'immagine nella "PictureBox1":
+
End
 +
 +
 +
Public Sub PictureBox1_Drop()   
 +
 +
<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 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