Uso della classe DesktopWatcher: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 3: | Riga 3: | ||
''DesktopWatcher'' solleva i seguenti eventi: | ''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'' . | ||
===Esempi pratici=== | |||
Private dw As DesktopWatcher | Private dw As DesktopWatcher | ||
| Riga 72: | Riga 72: | ||
Print dwd.W, dwd.H | Print dwd.W, dwd.H | ||
'''End''' | |||
In quest'altro esempio si utilizzerà l'Evento "_Windows" della Classe "DesktopWatcher", per osservare l'apertura della finestra di Dialogo utile per caricare un file. | |||
<BR>In tal caso il "Titolo" della finestra di Dialogo ".OpenFile" dovrà essere "certo" e "univoco". | |||
Private wa As DesktopWatcher | |||
Private dw As DesktopWindow | |||
'''Public''' Sub Form_Open() | |||
<FONT Color=gray>' ''Osserva tutte le finestre, presenti e quelle eventuali future, sulla Scrivania:''</font> | |||
wa = New DesktopWatcher As "DWatch" | |||
'''End''' | |||
'''Public''' Sub Button1_Click() | |||
With Dialog | |||
<FONT Color=gray>' ''Il "Titolo" della finestra di Dialo deve essere certo e univoco.'' | |||
' ''(In questo esempio è impostato il titolo: Abcde).''</font> | |||
.Title = "Abcde" | |||
If .OpenFile() Then Return | |||
End With | |||
'''End''' | |||
'''Public''' Sub DWatch_Windows() <FONT Color=gray>' ''Se la l'elenco delle finestre aperte sulla Scrivania è cambiato...''</font> | |||
<FONT Color=gray>' ''...allora si verifica se si è aperta proprio la finestra "Abcde":''</font> | |||
If Desktop.FindWindow("Abcde", Null, Null).Count > 0 Then | |||
<FONT Color=gray>' ''Se è così, allora la finestra di Dialogo, avente Titolo "Abcde", viene ridimensionata:''</font> | |||
With dw = New DesktopWindow(Desktop.FindWindow("Abcde", Null, Null)[0]) | |||
.Resize(Screen.AvailableWidth, Screen.AvailableHeight) | |||
End With | |||
Endif | |||
'''End''' | '''End''' | ||
Versione delle 07:04, 16 mag 2021
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 .
Esempi pratici
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
In quest'altro esempio si utilizzerà l'Evento "_Windows" della Classe "DesktopWatcher", per osservare l'apertura della finestra di Dialogo utile per caricare un file.
In tal caso il "Titolo" della finestra di Dialogo ".OpenFile" dovrà essere "certo" e "univoco".
Private wa As DesktopWatcher
Private dw As DesktopWindow
Public Sub Form_Open()
' Osserva tutte le finestre, presenti e quelle eventuali future, sulla Scrivania:
wa = New DesktopWatcher As "DWatch"
End
Public Sub Button1_Click()
With Dialog
' Il "Titolo" della finestra di Dialo deve essere certo e univoco.
' (In questo esempio è impostato il titolo: Abcde).
.Title = "Abcde"
If .OpenFile() Then Return
End With
End
Public Sub DWatch_Windows() ' Se la l'elenco delle finestre aperte sulla Scrivania è cambiato...
' ...allora si verifica se si è aperta proprio la finestra "Abcde":
If Desktop.FindWindow("Abcde", Null, Null).Count > 0 Then
' Se è così, allora la finestra di Dialogo, avente Titolo "Abcde", viene ridimensionata:
With dw = New DesktopWindow(Desktop.FindWindow("Abcde", Null, Null)[0])
.Resize(Screen.AvailableWidth, Screen.AvailableHeight)
End With
Endif
End