Differenze tra le versioni di "Uso della classe Watcher"

Da Gambas-it.org - Wikipedia.
Riga 4: Riga 4:
 
Esempio:
 
Esempio:
 
poniamo il caso di <SPAN style="text-decoration:underline">porre sotto osservazione</span> un ''Button''. Successivamente lo renderemo nascosto.
 
poniamo il caso di <SPAN style="text-decoration:underline">porre sotto osservazione</span> un ''Button''. Successivamente lo renderemo nascosto.
  Private w As Watcher  <FONT color=#006400>' ''Dichiariamo l'oggetto di tipo della Classe “Watcher” che osserverà il Controllo''</font>
+
  Private w As Watcher  <FONT color=#006400>' ''Dichiara l'oggetto di tipo della Classe “Watcher” che osserverà il Controllo''</font>
 
   
 
   
 
   
 
   
 
  '''Public''' Sub Form_Open()
 
  '''Public''' Sub Form_Open()
 
   
 
   
  <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>Osservazione</font>"
 
   w = New Watcher(Button2) As "<FONT color=#B22222>Osservazione</font>"
Riga 17: Riga 17:
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
  <FONT color=#006400>' ''Nascondiamo l'oggetto (il "Button2") osservato:''</font>
+
  <FONT color=#006400>' ''Nasconde l'Oggetto grafico (il "Button2") osservato:''</font>
 
   Button2.Hide
 
   Button2.Hide
 
    
 
    
 
  '''End'''
 
  '''End'''
 
   
 
   
  '''Public''' Sub <FONT color=#B22222>Osservazione</font>_Hide()  <FONT color=#006400>' ''Se viene nascosto il Controllo “osservato”, viene allora sollevato questo evento''</font>
+
  '''Public''' Sub <FONT color=#B22222>Osservazione</font>_Hide()  <FONT color=#006400>' ''Se viene nascosto il Controllo “osservato” (in tal caso "Button2"), viene allora sollevato questo evento''</font>
 
    
 
    
 
   Print “E' stato nascosto l'oggetto osservato !”
 
   Print “E' stato nascosto l'oggetto osservato !”

Versione delle 06:01, 26 mag 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 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