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()
+
  Public Sub Form_Open()
 
    
 
    
 
   Form1.Show
 
   Form1.Show
Riga 10: Riga 10:
 
   Form3.Show
 
   Form3.Show
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub Button1_Click()
+
  Public Sub Button1_Click()
 
    
 
    
 
   Dim dw AS DesktopWindow
 
   Dim dw AS DesktopWindow
Riga 25: Riga 25:
 
   Next
 
   Next
 
    
 
    
  '''End'''
+
  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