Differenze tra le versioni di "Uso della classe DesktopWatcher"
Da Gambas-it.org - Wikipedia.
Riga 54: | Riga 54: | ||
TextArea1.Text &= "Evento _Windows !\n" | TextArea1.Text &= "Evento _Windows !\n" | ||
+ | '''End''' | ||
+ | |||
+ | |||
+ | In quest'altro esempio verrà sollevato l'evento "''_WindowGeometry( )''" della Classe "''DesktopWatcher''", qualora venga modificata una dimensione della finestra del programma: | ||
+ | Private dwt As DesktopWatcher | ||
+ | |||
+ | |||
+ | '''Public''' Sub Form_Open() | ||
+ | |||
+ | dwt = New DesktopWatcher As "DesktopWatcher" | ||
+ | |||
+ | '''End''' | ||
+ | |||
+ | |||
+ | '''Public''' Sub DesktopWatcher_WindowGeometry(dwd As DesktopWindow) | ||
+ | |||
+ | Print dwd.W, dwd.H | ||
+ | |||
'''End''' | '''End''' |
Versione delle 08:12, 25 giu 2017
La classe DesktopWatcher osserva il desktop sullo schermo. Essa consente all'utente di essere in grado di rilevare l'attività dello schermo con i gestori di eventi:
variabileTipoDesktopWatcher_nomeEvento(parametro-eventuale).
DesktopWatcher solleva i seguenti eventi:
- ActiveWindow: l'evento è sollevato se si cambia desktop, ossia se si passa ad un altro desktop dello schermo; e se la finestra attiva è cambiata. Per sapere ora quale è, usare Desktop.ActiveWindow .
- Change: il desktop virtuale corrente è cambiato.
- Count: il numero dei desktop virtuali è cambiato.
- Geometry: la geometria del desktop è mutata.
- WindowGeometry: l'evento è sollevato, se una specifica finestra è stata spostata o ridimensionata.
- WindowIcon: l'evento è sollevato, se l'icona di una specifica finestra è cambiata.
- WindowName: l'evento è sollevato, se il nome o il nome visibile di una specifica finestra è cambiato.
- WindowState: l'evento è sollevato, se lo stato di una specifica finestra è cambiato.
- Windows: l'evento viene sollevato se l'elenco delle finestre è cambiato, cioè se una finestra è stata aperta, chiusa, o se l'ordine di sovrapposizione è cambiato. Per scorrere la lista e vedere quali finestre vi sono, usare Desktop.Windows .
Un breve esempio pratico:
Private dw As DesktopWatcher Public Sub Form_Open() With dw = New DesktopWatcher(Me) As "dw" ' Restituisce o imposta se l'oggetto DesktopWatcher guarda solo la finestra principale: .RootWindow = True End With End ' Se avvengono dei cambiamenti all'interno del desktop, ma anche: ' se si cambia desktop, ossia se si passa ad un altro desktop dello schermo; ' se viene spostato il focus da una finestra di un programma alla finestra di un altro programma; ' allora viene sollevato questo evento: Public Sub dw_ActiveWindow( ) TextArea1.Text &= "Modifica all'interno del Desktop !\n" End ' Se si cambia desktop, ossia se si passa ad un altro desktop dello schermo, ' allora viene sollevato questo evento: Public Sub dw_Change( ) TextArea1.Text &= "Cambio Desktop !\n" End ' Questo evento viene sollevato se l'elenco delle finestre è cambiato, ' cioè se una finestra è stata aperta, chiusa, o se l'ordine di sovrapposizione è cambiato: Public Sub dw_Windows( ) TextArea1.Text &= "Evento _Windows !\n" End
In quest'altro esempio verrà sollevato l'evento "_WindowGeometry( )" della Classe "DesktopWatcher", qualora venga modificata una dimensione della finestra del programma:
Private dwt As DesktopWatcher Public Sub Form_Open() dwt = New DesktopWatcher As "DesktopWatcher" End Public Sub DesktopWatcher_WindowGeometry(dwd As DesktopWindow) Print dwd.W, dwd.H End