1
Programmazione (Gambas 2) / Re: Adeguare larghezza pannelli al numero di pannelli visibili
« il: 30 Agosto 2011, 11:01:07 »
posto un esempio con 3 contenitori invece che 4:
non so se ho fatto qualche errore di sintassi, ma è più importante la logica del sistema. Sto cercando un modo per semplificare un codice del genere, poichè se devo applicare un sistema del genere a 5 o 6 contenitori il codice diventerà terribilmente più lungo... Come detto ho provato a giocare con le proprietà expand e autoresize, ma non le so bene usare, quindi magari avevo anche la soluzione a portata di mano...
Codice: [Seleziona]
IF contenitor1.Visible = FALSE THEN
contenitor1.Visible = TRUE
IF contenitor2.Visible = TRUE AND contenitor3.Visible = TRUE THEN
contenitor1.Width = form.Width / 3
contenitor2.Width = contenitor1.Width
contenitor3.Width = contenitor1.Width
ELSE IF contenitor2.Visible = TRUE AND contenitor3.Visible = FALSE THEN
contenitor1.Width = form.Width / 2
contenitor2.Width = contenitor1.Width
ELSE IF contenitor3.Visible = TRUE AND contenitor2.Visible = FALSE THEN
contenitor1.Width = form.Width / 2
contenitor3.Width = contenitor1.Width
ELSE IF contenitor2.Visible = FALSE AND contenitor3.Visible = FALSE THEN
contenitor1.Width = form.Width
ENDIF
ELSE IF contenitor1.Visible = TRUE THEN
contenitor1.Visible = FALSE
IF contenitor2.Visible = TRUE AND contenitor3.Visible = TRUE THEN
contenitor2.Width = form.Width / 2
contenitor3.Width = contenitor3.Width
ELSE IF contenitor2.Visible = TRUE AND contenitor3.Visible = FALSE THEN
contenitor2.Width = form.Width
ELSE IF contenitor3.Visible = TRUE AND contenitor2.Visible = FALSE THEN
contenitor3.Width = form.Width
ENDIF
ENDIF
non so se ho fatto qualche errore di sintassi, ma è più importante la logica del sistema. Sto cercando un modo per semplificare un codice del genere, poichè se devo applicare un sistema del genere a 5 o 6 contenitori il codice diventerà terribilmente più lungo... Come detto ho provato a giocare con le proprietà expand e autoresize, ma non le so bene usare, quindi magari avevo anche la soluzione a portata di mano...