Gambas-it

Archivi (sola lettura) => Programmazione (Gambas 2) => Topic aperto da: fsurfing - 04 Maggio 2008, 16:28:50

Titolo: Panel
Inserito da: fsurfing - 04 Maggio 2008, 16:28:50
mettiamo il caso di avere 10 textbox posizionate in un panel

si puo cancellare il testo delle text box con un unico comando o lo si deve fare cancellandolo una per una?
Titolo: Re: Panel
Inserito da: leo72 - 04 Maggio 2008, 16:53:11
Una differenza macroscopica col VB è proprio quella di non avere la possibilità di creare una matrice di widget indirizzabili con un indice.
L'unica soluzione che mi viene in mente è quella di utilizzare la proprietà Group() ed impostare un gruppo unico per tutti i Textbox e poi scorrerli con un FOR EACH.
Titolo: Re: Panel
Inserito da: fsurfing - 04 Maggio 2008, 16:56:14
mi sembra comunque un modo abbastanza comodo ..
grazie mille leo!
Titolo: Re: Panel
Inserito da: giulio - 04 Maggio 2008, 19:51:51
Oppure un'altra soluzione è questa:

Codice: [Seleziona]

DIM hControl AS Object
 
  FOR EACH hControl IN Panel1.Children
   
    IF object.Type(hControl) = "TextBox" THEN
      hControl.text = ""
    ENDIF
     
  NEXT  


posto che i textbox siano "figli" del panel. ciao.
Titolo: Re: Panel
Inserito da: fsurfing - 04 Maggio 2008, 20:22:29
ottima soluzione la tua giuglio!

ma permetti una domanda , per avere un textbox figlio di un panel(non è una parolaccia! :-) ) basta disegnare la textbox sopra ad un panel o sbaglio?
Titolo: Re: Panel
Inserito da: g.paolo - 04 Maggio 2008, 21:04:44

Esatto! E se controlli nella finestra gerarchia, i controlli disegnati all'interno di un panel dovranno essere "rami" del panel. Il controllo gerarchico ti da una mano per capire le dipendenze tra i vari oggetti.
Titolo: Re: Panel
Inserito da: fsurfing - 04 Maggio 2008, 21:10:29
perfetto!!!  
grazie a tutti!!
Titolo: Re: Panel
Inserito da: - 17 Novembre 2008, 22:47:19
Ciao

ho questo codice

PUBLIC SUB close_Click()
DIM item AS TextArea
FOR EACH item IN tab.Current.Children
item.Delete
NEXT
WAIT 0.1
tab.Current.Delete
END

Ho solo una text area dentro una tab.
Se cancello direttamente la tab vi và in errore ( la tab nn è vuota )
Quindi ovvio così .... è l'unico sistema ?
Funziona ma fà schifo ....
Titolo: Re: Panel
Inserito da: md9327 - 18 Novembre 2008, 09:53:54
Riguardo le Tab, mi viene in mente un'altra soluzione, che non ho ancora applicato, ma che potrebbe risolvere il problema dell'eliminazione delle tab con oggetti presenti al suo interno:

- creare un'oggetto Form nascosto
- reparentare gli oggetti figli della tab alla Form (metodo Reparent())
- eliminare la tab
- eliminare la form

è da provare, ed è anche un pò da smanettone, ma potrebbe funzionare...