Uso della classe Watcher
Da Gambas-it.org - Wikipedia.
Versione del 26 mag 2023 alle 05:01 di Vuott (Discussione | contributi)
La classe Watcher implementa un oggetto che può osservare un qualsiasi "Controllo" e sollevare alcuni eventi quando succede qualcosa su di esso. Questa classe è particolarmente utile per sapere quando un Controllo (Oggetto o Contenitore) viene spostato, ridimensionato, reso visibile o nascosto.
Esempio: poniamo il caso di porre sotto osservazione un Button. Successivamente lo renderemo nascosto.
Private w As Watcher ' Dichiara l'oggetto di tipo della Classe “Watcher” che osserverà il Controllo Public Sub Form_Open() ' L'oggetto di tipo della Classe “Watcher” osserverà in particolare il Controllo "Button2". ' L'oggetto di tipo "Watcher" viene associato al Gruppo di nome: "Osservazione": w = New Watcher(Button2) As "Osservazione" End Public Sub Button1_Click() ' Nasconde l'Oggetto grafico (il "Button2") osservato: Button2.Hide End Public Sub Osservazione_Hide() ' Se viene nascosto il Controllo “osservato” (in tal caso "Button2"), viene allora sollevato questo evento Print “E' stato nascosto l'oggetto osservato !” End
In quest'altro esempio, invece, porremo sotto osservazione il Form principale, e con l'Evento "_Move()" della Classe "Watcher" leggeremo i valori delle Proprietà ".X" e ".Y" del Form durante il suo spostamento effettuato con il mouse:
Private w As Watcher Public Sub Form_Open() w = New Watcher(Me) As "Osservazione" End Public Sub Osservazione_Move() Me.Title = CStr(Me.X) & " " & CStr(Me.Y) End