Differenze tra le versioni di "Uso della classe DesktopWindow"
Da Gambas-it.org - Wikipedia.
Riga 36: | Riga 36: | ||
Dim i As Integer[] | Dim i As Integer[] | ||
− | <font color= | + | <font color=gray>' <i>poiché DesktopWindow è una classe, gli si associa una variabile del tipo di quella Classe:</i></font> |
Dim dw As DesktopWindow | Dim dw As DesktopWindow | ||
Riga 42: | Riga 42: | ||
With dw = New DesktopWindow(c[0]) | With dw = New DesktopWindow(c[0]) | ||
− | <font color= | + | <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''' | ||
+ | |||
+ | |||
+ | 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 | Print Hex(.Id), .VisibleName, .Width, .Height | ||
.Move(100, 200, 100, 300) | .Move(100, 200, 100, 300) | ||
Riga 60: | Riga 75: | ||
With w | With w | ||
− | <font color= | + | <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>" | .Window.Name = "<i>Nome_finestra</i>" | ||
<font color=#006400>' ''Se invece si pone solo: <b>.Name</b> senza assegnazione, allora il nome sarà quello della finestra del programma.''</font> | <font color=#006400>' ''Se invece si pone solo: <b>.Name</b> senza assegnazione, allora il nome sarà quello della finestra del programma.''</font> | ||
− | <font color= | + | <font color=gray>' ''Carica un'immagine, che sarà poi mostrata appresso in dw:''</font> |
.Icon = Picture.Load("<i>percorso_immagine</i>") | .Icon = Picture.Load("<i>percorso_immagine</i>") | ||
− | <font color= | + | <font color=gray>' ''Mostra nella "TextLabel" il nome fittizio precedentemente assegnato alla finestra:''</font> |
TextLabel1.Text = .Name | TextLabel1.Text = .Name | ||
End With | End With | ||
− | dw = New DesktopWindow(w.Handle) <font color= | + | dw = New DesktopWindow(w.Handle) <font color=gray>' <i>"w.Handle" è il numero identificativo dell'handle della finestra rappresentata dalla variabile "w"</i> |
' <i>invece:</i> | ' <i>invece:</i> | ||
Riga 80: | Riga 95: | ||
Print .Desktop | Print .Desktop | ||
Print .FullScreen | Print .FullScreen | ||
− | <font color= | + | <font color=gray>' <i>Assegna alla variabile "i" l'icona precedentemente assegnata alla variabile "w":</i></font> |
i = .Icon | i = .Icon | ||
Print .Height | Print .Height | ||
Riga 90: | Riga 105: | ||
End With | End With | ||
− | <font color= | + | <font color=gray>' <i>andiamo a vedere l'eventuale icona della finestra del programma:</i></font> |
p = i.Picture | p = i.Picture | ||
PictureBox1.Picture = p | PictureBox1.Picture = p | ||
'''End''' | '''End''' |
Versione delle 07:09, 4 set 2015
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.
Le sue risorse attualmente sono:
.Activate() .Close() .Desktop .Frame .FullScreen .Geometry .GetIcon() .GetScreenshot .H .Height .Icon .Id .Maximized .Minimized .Move() .Name .Refresh() .Resize() .SkipTaskbar .Sticky .VisibleName .W .Width .X .Y
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 c = Desktop.FindWindow("Nome_della_finestra") With dw = New DesktopWindow(c[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:
dw = New DesktopWindow(Desktop.ActiveWindow) ' "Desktop.ActiveWindow" è la finestra attiva di un programma in quel momento
With dw
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