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 09: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