Uso della classe DesktopWindow: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
| Riga 3: | Riga 3: | ||
In particolare, questa Classe può essere usata per ottenere e gestire la finestra attiva di un programma. | In particolare, questa Classe può essere usata per ottenere e gestire la finestra attiva di un programma. | ||
Mostriamo qualche esempio pratico: | |||
'''Public''' Sub Form_Open() | '''Public''' Sub Form_Open() | ||
| Riga 40: | Riga 12: | ||
Dim dw As DesktopWindow | Dim dw As DesktopWindow | ||
i = Desktop.FindWindow("<font color=gray>'<i>Nome_della_finestra</i></font>") | |||
With dw = New DesktopWindow(i[0]) | |||
<font color=gray>' <i>Otteniamo informazioni dalla finestra individuata, e la gestiamo:</i></font> | <font color=gray>' <i>Otteniamo informazioni dalla finestra individuata, e la gestiamo:</i></font> | ||
Print Hex(.Id), .VisibleName, .Width, .Height | |||
.Move(100, 200, 100, 300) | |||
End With | |||
'''End''' | '''End''' | ||
| Riga 56: | Riga 28: | ||
Dim dw As DesktopWindow | Dim dw As DesktopWindow | ||
Me.Show | |||
With dw = New DesktopWindow(Me.Id) | |||
Print Hex(.Id), .VisibleName, .Width, .Height | |||
.Move(100, 200, 100, 300) | |||
End With | |||
'''End''' | '''End''' | ||
| Riga 73: | Riga 45: | ||
Dim i As Image | Dim i As Image | ||
Dim p As Picture | Dim p As Picture | ||
With w | |||
<font color=gray>' ''Assegna un nome di comodo alla finestra (non è indispensabile, e <span style="text-decoration:underline">non</span> modificherà il nome visibile in testa alla finestra):''</font> | <font color=gray>' ''Assegna un nome di comodo alla finestra (non è indispensabile, e <span style="text-decoration:underline">non</span> modificherà il nome visibile in testa alla finestra):''</font> | ||
.Window.Name = "<i>Nome_finestra</i>" | |||
<font color=gray>' ''Se invece si pone solo: <b>.Name</b> senza assegnazione, allora il nome sarà quello della finestra del programma.''</font> | <font color=gray>' ''Se invece si pone solo: <b>.Name</b> senza assegnazione, allora il nome sarà quello della finestra del programma.''</font> | ||
<font color=gray>' ''Carica un'immagine, che sarà poi mostrata appresso in dw:''</font> | <font color=gray>' ''Carica un'immagine, che sarà poi mostrata appresso in dw:''</font> | ||
.Icon = Picture.Load("<i>percorso_immagine</i>") | |||
<font color=gray>' ''Mostra nella "TextLabel" il nome fittizio precedentemente assegnato alla finestra:''</font> | <font color=gray>' ''Mostra nella "TextLabel" il nome fittizio precedentemente assegnato alla finestra:''</font> | ||
TextLabel1.Text = .Name | |||
End With | |||
dw = New DesktopWindow(w.Handle) <font color=gray>' ''"w.Handle" è il numero identificativo dell'handle della finestra'' | |||
' ''rappresentata dalla variabile "w"'' | |||
' <i>invece:</i> | ' <i>invece:</i></font> | ||
dw = New DesktopWindow(Desktop.ActiveWindow) ' <i>"Desktop.ActiveWindow" è la finestra attiva di un programma in quel momento</i></font> | With dw = New DesktopWindow(Desktop.ActiveWindow) <font color=gray>' <i>"Desktop.ActiveWindow" è la finestra attiva di un programma in quel momento</i></font> | ||
Print .Desktop | |||
Print .FullScreen | |||
<font color=gray>' <i>Assegna alla variabile "i" l'icona precedentemente assegnata alla variabile "w":</i></font> | <font color=gray>' <i>Assegna alla variabile "i" l'icona precedentemente assegnata alla variabile "w":</i></font> | ||
i = .Icon | |||
Print .Height | |||
Print .Id | |||
Print .Maximized | |||
Print .Name | |||
Print .SkipTaskbar | |||
Print .VisibleName | |||
End With | |||
<font color=gray>' <i>andiamo a vedere l'eventuale icona della finestra del programma:</i></font> | <font color=gray>' <i>andiamo a vedere l'eventuale icona della finestra del programma:</i></font> | ||
p = i.Picture | |||
PictureBox1.Picture = p | |||
'''End''' | |||
Per assegnare un Form ad uno specifico schermo si userà la Proprietà "''.Desktop''": | |||
'''Public''' Sub Button1_Click() | |||
Dim dw As DesktopWindow | |||
With dw = New DesktopWindow(Me.Id) | |||
<font color=gray>' ''Spostiamo il Form principale della nostra applicazione sul terzo desktop (indice 2):''</font> | |||
.Desktop = 2 | |||
End With | |||
'''End''' | '''End''' | ||
Versione delle 19:40, 25 lug 2020
La classe DesktopWindow è usata per rappresentare una finestra di primo livello.
In particolare, questa Classe può essere usata per ottenere e gestire la finestra attiva di un programma.
Mostriamo qualche esempio pratico:
Public Sub Form_Open()
Dim i As Integer[]
' poiché DesktopWindow è una classe, gli si associa una variabile del tipo di quella Classe:
Dim dw As DesktopWindow
i = Desktop.FindWindow("'Nome_della_finestra")
With dw = New DesktopWindow(i[0])
' Otteniamo informazioni dalla finestra individuata, e la gestiamo:
Print Hex(.Id), .VisibleName, .Width, .Height
.Move(100, 200, 100, 300)
End With
End
Se la finestra è il Form principale dell'applicazione, allora il suo Id si individuerà facilmente:
Public Sub Form_Open() Dim dw As DesktopWindow Me.Show With dw = New DesktopWindow(Me.Id) Print Hex(.Id), .VisibleName, .Width, .Height .Move(100, 200, 100, 300) End With End
La Classe DesktopWindow può rappresentare anche una finestra creata virtualmente con una variabile di tipo "Window":
Public Sub Form_Open()
Dim dw As DesktopWindow
Dim w As New Window
Dim i As Image
Dim p As Picture
With w
' Assegna un nome di comodo alla finestra (non è indispensabile, e non modificherà il nome visibile in testa alla finestra):
.Window.Name = "Nome_finestra"
' Se invece si pone solo: .Name senza assegnazione, allora il nome sarà quello della finestra del programma.
' Carica un'immagine, che sarà poi mostrata appresso in dw:
.Icon = Picture.Load("percorso_immagine")
' Mostra nella "TextLabel" il nome fittizio precedentemente assegnato alla finestra:
TextLabel1.Text = .Name
End With
dw = New DesktopWindow(w.Handle) ' "w.Handle" è il numero identificativo dell'handle della finestra
' rappresentata dalla variabile "w"
' invece:
With dw = New DesktopWindow(Desktop.ActiveWindow) ' "Desktop.ActiveWindow" è la finestra attiva di un programma in quel momento
Print .Desktop
Print .FullScreen
' Assegna alla variabile "i" l'icona precedentemente assegnata alla variabile "w":
i = .Icon
Print .Height
Print .Id
Print .Maximized
Print .Name
Print .SkipTaskbar
Print .VisibleName
End With
' andiamo a vedere l'eventuale icona della finestra del programma:
p = i.Picture
PictureBox1.Picture = p
End
Per assegnare un Form ad uno specifico schermo si userà la Proprietà ".Desktop":
Public Sub Button1_Click() Dim dw As DesktopWindow With dw = New DesktopWindow(Me.Id) ' Spostiamo il Form principale della nostra applicazione sul terzo desktop (indice 2): .Desktop = 2 End With End