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=#006400>' <i>poiché DesktopWindow è una classe, gli si associa una variabile del tipo di quella Classe:</i></font>
+
  <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=#006400>' <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'''
 +
 
 +
 
 +
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=#006400>' ''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>"
 
     .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=#006400>' ''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>")
 
     .Icon = Picture.Load("<i>percorso_immagine</i>")
  <font color=#006400>' ''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
 
     TextLabel1.Text = .Name
 
   End With
 
   End With
 
   
 
   
 
   
 
   
   dw = New DesktopWindow(w.Handle) <font color="#006400">' <i>"w.Handle" è il numero identificativo dell'handle della finestra rappresentata dalla variabile "w"</i>
+
   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=#006400>' <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
 
     i = .Icon
 
     Print .Height
 
     Print .Height
Riga 90: Riga 105:
 
   End With
 
   End With
 
   
 
   
  <font color=#006400>' <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
 
   p = i.Picture
 
   PictureBox1.Picture = p
 
   PictureBox1.Picture = p
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 08: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