Differenze tra le versioni di "Conoscere le coordinate correnti del mouse sul Form senza tenere premuto un tasto del mouse"
Da Gambas-it.org - Wikipedia.
Riga 9: | Riga 9: | ||
Public Sub Timer1_Timer() | Public Sub Timer1_Timer() | ||
− | Me.Title = Mouse.ScreenX - Me.X | + | Me.Title = "X = " & CStr(Mouse.ScreenX - Me.X) & |
+ | " Y = " & CStr(Mouse.ScreenY - Me.Y) | ||
End | End | ||
Riga 25: | Riga 26: | ||
Timer1.Stop | 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 | End | ||
Versione delle 21:30, 1 nov 2023
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: