Differenze tra le versioni di "Spostare la finestra di un programma all'interno dello schermo"

Da Gambas-it.org - Wikipedia.
Riga 22: Riga 22:
  
 
==Uso del programma ''wmctrl'' con ''Shell''==
 
==Uso del programma ''wmctrl'' con ''Shell''==
Si potrà fare anche uso del comando bash ''wmctrl'' lanciato con ''Shell''.
+
Si potrà fare anche uso del comando bash ''wmctrl'' lanciato con ''Shell'':
 
  '''Public''' Sub BtnKeyb_Click()   
 
  '''Public''' Sub BtnKeyb_Click()   
 
        
 
        

Versione delle 10:49, 16 set 2012

E' possibile spostare la finestra di un programma qualsiasi all'interno di uno schermo qualsiasi mediante due modalità.


Uso della Classe DesktopWindow

La classe DesktopWindow ci consente di agire con le sole funzioni Gambas. Per poter attivare questa Classe si dovrà innanzitutto impostare nel progetto anche il componente gb.desktop, che ci consentirà l'uso pure di altre funzioni:

Public Sub Button1_Click()

 Dim dw As DesktopWindow
 Dim a As Integer[]

' Individuiamo il PID della "finestra" del programma:
  a = Desktop.FindWindow("nome_della_finestra_del_programma_da_spostare")

  dw = New DesktopWindow(a[0])

' Impostiamo i valori dello spostamento, ed eventualmente anche il ridimensionamento della finestra:
  dw.Move(valoreX, valoreY, valoreW, valoreY)

End


Uso del programma wmctrl con Shell

Si potrà fare anche uso del comando bash wmctrl lanciato con Shell:

Public Sub BtnKeyb_Click()  
     
' La finestra del programma, in questo esempio, viene posta in basso al centro dello schermo:
  Shell "wmctrl -r nome_dellafinestra_del_programma -e 0,500,800,600,300"
     
End

riguardo ai valori dell'esempio precedente:

  • 500 = coordinate x;
  • 800 = coordinate y;
  • 600 = lunghezza della finestra;
  • 300 = altezza della finestra.

Quindi, volendo, è possibile anche far modificare la grandezza della tastierina virtuale; altrimenti i due ultimi parametri dovrebbero essere posti a -1.