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

Da Gambas-it.org - Wikipedia.
Riga 30: Riga 30:
 
        
 
        
 
  '''End'''
 
  '''End'''
riguardo ai valori dell'esempio precedente:
+
riguardo ai valori inseriti dell'esempio precedente:
 
* 500 = coordinate x;
 
* 500 = coordinate x;
 
* 800 = coordinate y;
 
* 800 = coordinate y;

Versione delle 15:20, 17 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

I due parametri relativi al ridimensionamento della finestra sortiscono il loro effetto soltanto se la finestra del programma è ridimensionabile.


Uso del programma wmctrl con Shell

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

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

riguardo ai valori inseriti 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 finestra; altrimenti i due ultimi parametri dovrebbero essere posti a -1.