Spostare con il mouse il testo in una DrawingArea

Da Gambas-it.org - Wikipedia.

Mostreremo due codici per spostare con il mouse un testo all'interno di una DrawingArea.


Il primo codice più semplice e basilare per effettuare uno spstamento nella DrawingArea:

Private x As Integer
Private y As Integer


' Gestisce l'evento della pressione del tasto del mouse sulla DrawingArea:
Public Sub DrawingArea1_MouseDown()   
 
  x = Mouse.X   ' prende la coordinata x del punto ove si trova il mouse in quel momento
  y = Mouse.Y   ' prende la coordinata y del punto ove si trova il mouse in quel momento
 
End


' Gestisce l'evento dello spostamento del mouse sulla DrawingArea
Public Sub DrawingArea1_MouseMove()   
 
  x = Mouse.X
  y = Mouse.Y
 
End


Public Sub DrawingArea1_Draw()
 
 DrawingArea1.Refresh
  
 With Paint
   .Begin(DrawingArea1)     ' attiva la DrawingArea
   .Font.Size = 22
   .DrawText("abc", x, y)   ' è il testo che andremo a spostare nella DrawingArea
   .End
 End With
   
End


Il secondo codice, più complesso, che consente di spostare il testo senza sbalzi e spostamenti indesiderati rispetto alla posizione del testo e del mouse, può essere estratto dall'esempio allegato dall'utente Gianluigi del forum www.gambas-it.org in questa discussione.