Differenze tra le versioni di "Uso della classe Watcher"
Da Gambas-it.org - Wikipedia.
Riga 11: | Riga 11: | ||
<FONT color=#006400>' ''L'oggetto di tipo della Classe “Watcher” osserverà in particolare il Controllo: Button2.'' | <FONT color=#006400>' ''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":''</font> | ' ''L'oggetto di tipo "Watcher" viene associato al Gruppo di nome: "Osservazione":''</font> | ||
− | w = New Watcher(Button2) As "<FONT color=#B22222> | + | w = New Watcher(Button2) As "<FONT color=#B22222>Osservazione</font>" |
'''End''' | '''End''' |
Versione delle 23:35, 29 apr 2023
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 Button2. Successivamente lo renderemo nascosto.
Private w As Watcher ' Dichiariamo 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() ' Nascondiamo l'oggetto (il "Button2") osservato: Button2.Hide End Public Sub Osservazione_Hide() ' Se viene nascosto il Controllo “osservato”, 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 effetuato 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