Differenze tra le versioni di "Uso della classe Watcher"
Da Gambas-it.org - Wikipedia.
(2 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | La classe '''Watcher''' implementa un | + | 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''. | + | <BR>Questa classe è particolarmente utile per sapere quando un Controllo (Oggetto o Contenitore) viene ''spostato'', ''ridimensionato'', reso ''visibile'' o ''nascosto''. |
Esempio: | Esempio: | ||
Riga 7: | Riga 7: | ||
− | + | 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 | |
− | + | ||
+ | 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 | |
+ | |||
+ | |||
+ | <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 | |
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() | |
w = New Watcher(Me) As "<FONT color=#B22222>Osservazione</font>" | w = New Watcher(Me) As "<FONT color=#B22222>Osservazione</font>" | ||
− | + | End | |
+ | |||
− | + | 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 |
Versione attuale delle 10:23, 26 nov 2024
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