Differenze tra le versioni di "Creare un Form mediante la Classe Window"
Da Gambas-it.org - Wikipedia.
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 1: | Riga 1: | ||
− | Poiché l'oggetto ''Form'' appartiene alla categoria dell' | + | 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'': | Nel seguente esempio creeremo diversi ''Form'' mediante la Classe ''Window'': | ||
− | + | Private w As <FONT color=#B22222>Window</font> | |
− | + | Private bt As Button | |
− | + | Public Sub Button1_Click() | |
− | Dim | + | Dim b As Byte |
− | + | For b = 0 To 4 | |
− | <FONT color= | + | <FONT color=gray>' ''Crea un nuovo "Form":''</font> |
− | + | With w = New <FONT color=#B22222>Window</font> As "Finestra" | |
− | + | .W = 300 | |
− | + | .H = 200 | |
− | + | .Caption = "num. " & CStr(b) | |
− | + | .Background = &111111 * (b + 1000) | |
− | + | <FONT color=gray>' ''Per far mostrare la finestra, è assolutamente necessario chiamare il suo Metodo ".Show()":''</font> | |
− | End With | + | .Show() |
+ | End With | ||
− | <FONT color= | + | <FONT color=gray>' ''Pone su ciascun nuovo "Form" un "Button":''</font> |
− | + | creaTasto() | |
− | + | Next | |
− | |||
− | |||
− | |||
+ | End | ||
+ | |||
− | + | Public Sub Finestra_Open() | |
− | <FONT color= | + | <FONT color=gray>' ''Per ogni nuovo "Form" creato, che si apre, mostra in console il nome:''</font> |
− | + | Print w.Text | |
− | Print w. | ||
− | + | End | |
− | + | Public Sub creaTasto() | |
− | + | With bt = New Button(<FONT color=#B22222>w</font>) As "bt" | |
− | + | .X = 20 | |
− | + | .Y = 20 | |
− | + | .W = 100 | |
− | + | .H = 40 | |
− | + | .Background = Color.Yellow | |
− | + | .Text = "Tasto " & w.Text | |
− | + | End With | |
− | + | End | |
− | + | 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 | ||
+ | |||
+ | Wait 2 | ||
+ | |||
+ | <FONT color=gray>' ''Chiude il "Form", individuandolo come "Parent", del "Button" cliccato:''</font> | ||
+ | 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 [[Semitrasparenza_di_un_Form|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 | ||
+ | <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>") | ||
+ | <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> | ||
+ | .Show() | ||
+ | End With | ||
+ | |||
+ | 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