Conoscere le coordinate correnti del mouse sul Form senza tenere premuto un tasto del mouse

Da Gambas-it.org - Wikipedia.

Per conoscere le coordinate correnti del mouse sul Form, sul quale siano presenti uno o più Controlli grafici, senza tenere premuto un tasto del mouse, si può adottare il seguente codice: [nota 1]

Public Sub Form_Open()

 Timer1.Delay = 20

End


Public Sub Timer1_Timer()

 Me.Title = "X = " & CStr(Mouse.ScreenX - Me.X) &
        "       Y = " & CStr(Mouse.ScreenY - Me.Y)

End


Public Sub Form_Enter()

 Timer1.Start

End


Public Sub Form_Leave()

 Timer1.Stop

End

oppure quest'altro:

Public Sub Form_Open()

 Me.Tracking = True
 TextArea1.Tracking = True

End


Public Sub Form_MouseMove()
 
 Me.Title = "X = " & CStr(Mouse.ScreenX - Me.X) &
        "       Y = " & CStr(Mouse.ScreenY - Me.Y)
 
End


Public Sub TextArea1_MouseMove()
 
 Me.Title = "X = " & CStr(Mouse.ScreenX - Me.X) &
        "       Y = " & CStr(Mouse.ScreenY - Me.Y)
 
End

Questo secondo codice potrebbe essere abbreviato così:

Public Sub Form_Open()

 Me.Tracking = True
 TextArea1.Tracking = True

 Object.Attach(Me, Me, "Controllo")
 Object.Attach(TextArea1, Me, "Controllo")

End


Public Sub Controllo_MouseMove()
 
 Me.Title = "X = " & CStr(Mouse.ScreenX - Me.X) &
        "       Y = " & CStr(Mouse.ScreenY - Me.Y)
 
End


Note

[1] Vedere anche le seguenti pagine: