Sollevare l'Evento MouseMove() di un Oggetto grafico spostando su di esso il mouse senza tenere premuto un suo tasto

Da Gambas-it.org - Wikipedia.
Versione del 5 nov 2024 alle 04:41 di Vuott (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Normalmente, affinché sia sollevato l'Evento "_MouseMove()" di un Oggetto grafico, bisogna spostare il mouse su tale Oggetto, tenendo premuto un tasto del mouse.
Per sollevare quel medesimo Evento senza la necessità di tenere premuto un tasto del mouse (ossia al solo semplice passaggio, al solo scorrere del puntatore del mouse sulla superficie del Controllo grafico in questione), bisogna assegnare il valore TRUE alla Proprietà ".Tracking" di tale Oggetto grafico, se da esso posseduta. [nota 1]

Mostriamo un semplice esempio, usando come Oggetto il Form principale.
Verranno intercettati i valori delle Proprietà ".X" e ".Y" del Mouse al suo spostarsi sul Form (ovviamente - come già specificato - ciò avverrà senza premere alcun tasto del mouse):

Public Sub Form_Open()

 Me.Tracking = True
 
End


Public Sub Form_MouseMove()

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

End

In quest'altro esempio useremo una TextArea.
Pertanto, passando con il puntatore del mouse (senza premere alcun tasto del mouse) sulla TextArea, sarà sollevato l'Evento "_MouseMove()" di questo Controllo grafico.

 Public Sub Form_Open()

 TextArea1.Tracking = True
 
End


Public Sub TextArea1_MouseMove()

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

End


Note

[1] vedere anche le seguenti pagine: