Differenze tra le versioni di "Creare un Form mediante la Classe Window"

Da Gambas-it.org - Wikipedia.
 
Riga 8: Riga 8:
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 
   Dim b As Byte
 
   Dim b As Byte
Riga 14: Riga 14:
 
   For b = 0 To 4
 
   For b = 0 To 4
 
   
 
   
  <FONT color=gray>' ''Creiamo un nuovo "Form":''</font>
+
  <FONT color=gray>' ''Crea un nuovo "Form":''</font>
 
     With w = New <FONT color=#B22222>Window</font> As "Finestra"
 
     With w = New <FONT color=#B22222>Window</font> As "Finestra"
 
       .W = 300
 
       .W = 300
Riga 24: Riga 24:
 
     End With
 
     End With
 
   
 
   
  <FONT color=gray>' ''Poniamo su ciascun nuovo "Form" un "Button":''</font>
+
  <FONT color=gray>' ''Pone su ciascun nuovo "Form" un "Button":''</font>
 
     creaTasto()
 
     creaTasto()
 
   Next
 
   Next
 
   
 
   
  '''End'''
+
  End
 
    
 
    
  '''Public''' Sub Finestra_Open()
+
   
 +
Public Sub Finestra_Open()
 
    
 
    
  <FONT color=gray>' ''Per ogni nuovo "From" creato, che si apre, ne vediamo in console il nome:''</font>
+
  <FONT color=gray>' ''Per ogni nuovo "Form" creato, che si apre, mostra in console il nome:''</font>
 
   Print w.Text
 
   Print w.Text
 
    
 
    
  '''End'''
+
  End
 
   
 
   
  '''Public''' Sub creaTasto()
+
   
 +
Public Sub creaTasto()
 
    
 
    
 
   With bt = New Button(<FONT color=#B22222>w</font>) As "bt"
 
   With bt = New Button(<FONT color=#B22222>w</font>) As "bt"
Riga 48: Riga 50:
 
   End With
 
   End With
 
    
 
    
  '''End'''
+
  End
 +
 
   
 
   
  '''Public''' Sub bt_Click() <FONT color=gray>' ''I "Button" presenti sui nuovi "Form" sono regolarmente funzionanti''</font>
+
  Public Sub bt_Click() <FONT color=gray>' ''I "Button" presenti sui nuovi "Form" sono regolarmente funzionanti''</font>
 
    
 
    
 
   Print "Premuto " & Last.Text
 
   Print "Premuto " & Last.Text
Riga 56: Riga 59:
 
   Wait 2
 
   Wait 2
 
   
 
   
  <FONT color=gray>' ''Chiudiamo il "Form", individuandolo come "Parent", del "Button" cliccato:''</font>
+
  <FONT color=gray>' ''Chiude il "Form", individuandolo come "Parent", del "Button" cliccato:''</font>
 
   Last.Parent.Close
 
   Last.Parent.Close
 
    
 
    
  '''End'''
+
  End
  
  
Riga 69: Riga 72:
 
    
 
    
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
   
 
   
 
   With w = New Window  
 
   With w = New Window  
Riga 77: Riga 80:
 
     .H = 300
 
     .H = 300
 
     .Border = Border.None
 
     .Border = Border.None
  <FONT color=gray>' ''Carichiamo nell'oggetto di tipo "Window" un'immagine semitrasparente, avente ovviamente una parte d'immagine visibile:</font>
+
  <FONT color=gray>' ''Carica nell'oggetto di tipo "Window" un'immagine semitrasparente, avente ovviamente una parte d'immagine visibile:</font>
 
     .Picture = Picture.Load("<FONT color=gray>''/percorso/file/immagine.png''</font>")
 
     .Picture = Picture.Load("<FONT color=gray>''/percorso/file/immagine.png''</font>")
  <FONT color=gray>' ''Impostiamo la proprietà ".Mask" dell'oggetto di tipo "Window" a "True":''</font>
+
  <FONT color=gray>' ''Imposta la proprietà ".Mask" dell'oggetto di tipo "Window" a "True":''</font>
 
     <FONT color=#B22222>.Mask</font> = <FONT color=#B22222>True</font>
 
     <FONT color=#B22222>.Mask</font> = <FONT color=#B22222>True</font>
 
     .Show()
 
     .Show()
 
   End With
 
   End With
 
   
 
   
  '''End'''
+
  End

Versione attuale delle 14:32, 25 giu 2024

Poiché l'oggetto Form appartiene alla categoria dell'Oggetto Window, è possibile creare un Form autonomo semplicemente dichiarando ed istanziando un Oggetto Window per mezzo di una variabile di tipo Window, con la quale sarà anche gestito.

Detti Form creati mediante la Classe Window potranno contenere regolarmente degli Oggetti grafici.

Nel seguente esempio creeremo diversi Form mediante la Classe Window:

Private w As Window
Private bt As Button


Public Sub Button1_Click()

 Dim b As Byte

 For b = 0 To 4

' Crea un nuovo "Form":
   With w = New Window As "Finestra"
     .W = 300
     .H = 200
     .Caption = "num. " & CStr(b)
     .Background = &111111 * (b + 1000)
' Per far mostrare la finestra, è assolutamente necessario chiamare il suo Metodo ".Show()":
     .Show()
   End With

' Pone su ciascun nuovo "Form" un "Button":
   creaTasto()
 Next

End
 

Public Sub Finestra_Open()
 
' Per ogni nuovo "Form" creato, che si apre, mostra in console il nome:
  Print w.Text
 
End


Public Sub creaTasto()
 
 With bt = New Button(w) As "bt"
   .X = 20
   .Y = 20
   .W = 100
   .H = 40
   .Background = Color.Yellow
   .Text = "Tasto " & w.Text
 End With
 
End


Public Sub bt_Click() ' I "Button" presenti sui nuovi "Form" sono regolarmente funzionanti
 
  Print "Premuto " & Last.Text

  Wait 2

' Chiude il "Form", individuandolo come "Parent", del "Button" cliccato:
  Last.Parent.Close
 
End


Semitrasparenza di un Form creato con la Classe Window

E' possibile applicare la semitrasparenza anche ad un Form, generato con la Classe Window, (e più in generale la si può applicare ad un oggetto di tipo Window) mediante la medesima modalità prevista per la specifica Classe Form.

Di seguito un semplice esempio:

Private w As Window
 

Public Sub Button1_Click()

 With w = New Window 
   .X = Mouse.ScreenX
   .Y = Mouse.ScreenY
   .W = 300
   .H = 300
   .Border = Border.None
' Carica nell'oggetto di tipo "Window" un'immagine semitrasparente, avente ovviamente una parte d'immagine visibile:
   .Picture = Picture.Load("/percorso/file/immagine.png")
' Imposta la proprietà ".Mask" dell'oggetto di tipo "Window" a "True":
   .Mask = True
   .Show()
 End With

End