Newsgroup: it.comp.lang.visual-basic
Titolo: Controllo TabStrip???

inchia vedi tu su cosa mi devo bloccare...
ho bisogno di utilizzare il controllo tabstrip in un mio progetto (è la
prima volta che lo faccio): l'ho piazzato bello bello sul mio form, l'ho
dimensionato a dovere, mi sono definito tutti gli oggetti tab mediante le
proprietà ed ho letto nella guida che: "Il controllo TabStrip non è un
contenitore. Per contenere le pagine effettive e i relativi oggetti, è
necessario utilizzare controlli Frame oppure altri contenitori di dimensioni
corrispondenti all'area interna condivisa da tutti gli oggetti Tab del
controllo."
Che ho fatto allora, mi sono posto la domanda: "Ok, io ci piazzo sopra il
mio bel frame per la prima scheda... e il 2° per la 2° scheda? dove lo
metto?"
Cmq da apprendista diligente ho provato solo con la prima scheda e il primo
frame...
Ho lanciato il progetto e, per magia, il mio frame era contenuto nella
tabstrip, ma quando faccio click sull'altra scheda, sempre per magia, il mio
frame era sempre lì :-)
lo so, non sono stato molto conciso, ma sta cosa la voglio prendere sullo
scherzo perchè altrimenti devo prendere a capocciate l'LCD :-)
Dov'è che sbaglio?
grazie a tutti e buon appetito!

 Dov'è che sbaglio?
Non so che versione della guida hai, ma esattamente due righe sotto al testo
che hai riportato c'e' l'esempio completo...
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown

si, l'ho provato, e, logicamente, non funziona...
Private Sub Tabstrip1_Click()
   If Tabstrip1.SelectedItem.Index = mintCurFrame _
      Then Exit Sub   ' Non è necessario modificare la cornice.
   ' In caso contrario nasconde la vecchia cornice e visualizza
   ' quella nuova.
   Frame1(Tabstrip1.SelectedItem.Index).Visible = True
   Frame1(mintCurFrame).Visible = False
   ' Imposta mintCurFrame sul nuovo valore.
   mintCurFrame = Tabstrip1.SelectedItem.Index
End Sub
mi dice che l'indice 0 (a cui viene impostata mintCurFrame all'atto della
dichiarazione) non esiste, perchè ho provato iniziando da 1 con gli indici
dei controlli frame, ma lo stesso messaggio me lo da', partendo da 0, quando
clicco e mintCurFrame va a 2 (per il momento ho solo 2 tabs..
inoltre questo è il codice relativo al'utilizzo di una matrice di controlli
frame ad esempio...
Devo utilizzare obbligatoriamente una matrice di controlli?

 Devo utilizzare obbligatoriamente una matrice di controlli?
Non e' obbligatorio, ma come puoi vedere l'uso di contenitori raggruppati in
una matrice ti facilita enormemente il codice, visto che puo' andare a
braccetto con l'insieme dei Tabs.
Per farne a meno dovresti fare un "select case" nell'evento Tabstrip1_Click
per decidere quale contenitore visualizzare, cosi' com'e' invece quel codice
funziona in qualsiasi finestra che utilizza un tabstrip...


ti ringrazio delle delucidazioni,
ma ti avevo preceduto inizializzando la variabile ad 1 :-).
Per quanto riguarda le istruzioni per un effetto migliore, dato che i frame
hanno tutti gli stessi valori in top,left,width e height, sono superflue, in
quanto sono perfettamente sovrapposti.
Solo un'altra domanda: l'insieme tabs deve obbligatoriamente partire da 1
vero?
grazie mille!

 vero?
L'insieme Tabs si, e' definito dal controllo e quindi tocca tenerselo cosi'
