Differenze tra le versioni di "Chiudere le finestre secondarie di un programma Gambas lasciando aperto il solo Form principale"
Da Gambas-it.org - Wikipedia.
(Creata pagina con "Il caso in questione è quello in cui si ha un programma Gambas in ambiente grafico formato dal ''Form'' principale e da altri ''Form'' secondari. <BR>Si intende chiudere i ''...") |
|||
Riga 2: | Riga 2: | ||
<BR>Si intende chiudere i ''Form'' secondari lasciando aperto il solo Form principale. | <BR>Si intende chiudere i ''Form'' secondari lasciando aperto il solo Form principale. | ||
<BR>Mostriamo un possibile codice per ottenere il risultato richiesto (è necessario attivare anche il Componente ''gb.desktop''): | <BR>Mostriamo un possibile codice per ottenere il risultato richiesto (è necessario attivare anche il Componente ''gb.desktop''): | ||
− | + | Public Sub Form_Open() | |
Form1.Show | Form1.Show | ||
Riga 10: | Riga 10: | ||
Form3.Show | Form3.Show | ||
− | + | End | |
− | + | Public Sub Button1_Click() | |
Dim dw AS DesktopWindow | Dim dw AS DesktopWindow | ||
Riga 25: | Riga 25: | ||
Next | Next | ||
− | + | End |
Versione attuale delle 17:24, 27 giu 2024
Il caso in questione è quello in cui si ha un programma Gambas in ambiente grafico formato dal Form principale e da altri Form secondari.
Si intende chiudere i Form secondari lasciando aperto il solo Form principale.
Mostriamo un possibile codice per ottenere il risultato richiesto (è necessario attivare anche il Componente gb.desktop):
Public Sub Form_Open() Form1.Show Form2.Show Form3.Show End Public Sub Button1_Click() Dim dw AS DesktopWindow ' Affinché il presente codice sia efficace, è necessario che "tutte" le finestre del programma Gambas abbiano lo stesso "Titolo". ' Pertanto è necessario che la Proprietà ".Text" di ciascun Form non venga modificata, oppure venga assegnato a ciascuna Proprietà ".Text" il medesimo testo. For Each dw In Desktop.Windows ' Per individuare le finestre secondarie del programma Gambas e distinguerle, così dal Form principale, bisognerà verificare che il numero identificativo di ciascuna delle finestre secondarie sia "diverso" dal numero identificativo della finestra principale. ' Inoltre, per distinguere "tutte" le finestre del programma Gambas dalle finestre degli altri eventuali programmi attivi sulla Scrivania, sarà necessario - come già detto sopra - che "tutte" le finestre del programma Gambas abbiano lo stesso "Titolo". If (dw.Id <> FMain.Id) And (dw.VisibleName == FMain.Caption) Then dw.Close Next End