Differenze tra le versioni di "Uso della classe Watcher"

Da Gambas-it.org - Wikipedia.
Riga 7: Riga 7:
 
   
 
   
 
   
 
   
  '''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".''
Riga 13: Riga 13:
 
   w = New Watcher(Button2) As "<FONT color=#B22222>Osservazione</font>"
 
   w = New Watcher(Button2) As "<FONT color=#B22222>Osservazione</font>"
 
   
 
   
  '''End'''
+
  End
 
   
 
   
  '''Public''' Sub Button1_Click()
+
   
 +
Public Sub Button1_Click()
 
   
 
   
 
  <FONT color=#006400>' ''Nasconde l'Oggetto grafico (il "Button2") osservato:''</font>
 
  <FONT color=#006400>' ''Nasconde l'Oggetto grafico (il "Button2") osservato:''</font>
 
   Button2.Hide
 
   Button2.Hide
 
 
'''End'''
 
 
   
 
   
  '''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>
+
  End
 +
 +
 +
  <FONT color=#006400>' ''Se viene nascosto il Controllo “osservato” (in tal caso "Button2"), viene allora sollevato questo evento:''</font>
 +
Public Sub <FONT color=#B22222>Osservazione</font>_Hide()
 
    
 
    
 
   Print “E' stato nascosto l'oggetto osservato !”
 
   Print “E' stato nascosto l'oggetto osservato !”
 
    
 
    
  '''End'''
+
  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:
 
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
 
  Private w As Watcher
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
   
 
   
 
   w = New Watcher(Me) As "<FONT color=#B22222>Osservazione</font>"
 
   w = New Watcher(Me) As "<FONT color=#B22222>Osservazione</font>"
 
   
 
   
  '''End'''
+
  End
 +
 
   
 
   
  '''Public''' Sub <FONT color=#B22222>Osservazione</font>_Move()
+
  Public Sub <FONT color=#B22222>Osservazione</font>_Move()
 
   
 
   
 
   Me.Title = CStr(Me.X) & "  " & CStr(Me.Y)
 
   Me.Title = CStr(Me.X) & "  " & CStr(Me.Y)
 
   
 
   
  '''End'''
+
  End

Versione delle 20:42, 5 ago 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


' Se viene nascosto il Controllo “osservato” (in tal caso "Button2"), viene allora sollevato questo evento:
Public Sub Osservazione_Hide()
 
 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