Conoscere le coordinate correnti del mouse sul Form senza tenere premuto un tasto del mouse
Da Gambas-it.org - Wikipedia.
Versione del 27 nov 2023 alle 23:32 di Vuott (Discussione | contributi)
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 possono adottare alcune modalità. [nota 1]
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
oppure quest'altro codice:
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
Usando un Timer
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
Ponendo in osservazione il file-device del Mouse
Si aprirà il file-device "/dev/input/muse0" e lo si porrà in "osservazione":
Private fl As File Public Sub form_Open() ' Provvede a eliminare la protezione del file-device del mouse prescelto: Dim pw As String pw = InputBox("Immettere la propria password di sistema...") Shell "echo " & pw & " | sudo -S chmod 444 /dev/input/mouse0" Wait ' Apre il file-device "/dev/input/mouse0" e lo pone in "osservazione": fl = Open "/dev/input/mouse0" For Read Watch End Public Sub File_Read() If (Mouse.ScreenX < Me.X) Or (Mouse.ScreenX > (Me.X + Me.W)) Or (Mouse.ScreenY < Me.Y) Or (Mouse.ScreenY > (Me.Y + Me.H)) Then Return Label1.Text = (Mouse.ScreenX - Me.X) & " " & (Mouse.ScreenY - Me.Y) End
Note
[1] Vedere anche le seguenti pagine: