Creare un Form mediante la Classe Window
Vai alla navigazione
Vai alla ricerca
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.
Nel seguente esempio creeremo diversi Form mediante la Classe Window:
Private w As Window
Private bt As Button
Public Sub Button1_Click()
Dim j As Byte
For j = 0 To 4
' Creiamo un nuovo "Form":
With w = New Window As "w"
.W = 300
.H = 200
.Caption = "num. " & CStr(j)
.Background = &111111 * (j + 1000)
' Per far mostrare la finestra, è assolutamente necessario chiamare la sua funzione ".Show":
.Show
End With
' Poniamo su ciascun nuovo "Form" un "Button":
creaTasto()
Next
End
Public Sub w_Open()
' Per ogni nuovo "From" creato, che si apre,
' ne vediamo in console il nome:
Print w.Caption
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.Caption
End With
End
Public Sub bt_Click() ' I "Button" presenti sui nuovi "Form" sono regolarmente funzionanti
Print "Premuto " & Last.Text
Wait 2
' Chiudiamo 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
' Carichiamo nell'oggetto di tipo "Window" un'immagine semitrasparente,
' avente ovviamente una parte d'immagine visibile:
.Picture = Picture.Load("percorso_file_immagine.png")
' Impostiamo la proprietà ".Mask" dell'oggetto di tipo "Window" a "True":
.Mask = True
.Show
End With
End