Pb Tabstrip avec frame contenant =ment un Tabstrip

yohan_titi Messages postés 37 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 6 décembre 2006 - 13 sept. 2005 à 16:30
yela Messages postés 16 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 7 août 2007 - 13 sept. 2005 à 18:00
Bonjour à tous,

J'ai un Tabstrip (TabStrip2) qui contient une frame (Frame6) qui elle-meme contient un Tabstrip (TabStrip3)
Les Tabs de TabStrip2 sont créés dynamiquement depuis des valeurs d'une listview (ListView4).
Une frame est créée dynamiquement dans chaque Tab créé dans TabStrip2
Un Tabstrip3 est créé dynamiquement dans chaque frame créée au préalable.
L'index de Frame6 et l'index de Tabstrip3 sont initialialisés à 1.
Listview4 contient les valeurs "01", "02" et "03"

Mon pb est le suivant :
- Les Tabs de TabStrip2 se créés correctement
- Les frames se créées également correctement
- Mais les Tabstrip 3 ne se créés pas. Ca me met l'erreur 35600 : index hors limites.
Lorsque je débuggue, je vois que ça me plante sur la ligne surbrillée en vert dans mon code et la valeur de D est 3

Est-ce que qqun peut m'éclairer ???

Ci-dessous le code :

Dim D As Long
Dim F As Long
Dim Item_Count As Long

Item_Count = ListView4.ListItems.Count
ReDim LI(Item_Count) As ListItem
For D = 1 To ListView4.ListItems.Count
F = ListView4.ListItems(D).Index
Set LI(D) = ListView4.ListItems(F)
TabStrip2.Tabs.Add
TabStrip2.Tabs(D).Caption = "Feuillet " & LI(D)
TabStrip2.Tabs(D).Image = 20
TabStrip2.Tabs(1).Selected = True


If D = 1 Then
Frame6(D).Caption = "Frame " & LI(D)
TabStrip3(D).Tabs(D).Caption = "Onglet " & LI(D)
TabStrip3(D).Tabs(D).Image = 21
Else
Load Frame6(D)
Frame6(D).Caption = "Frame " & LI(D)
Frame6(D).Visible = True
Load TabStrip3(D)
TabStrip3(D).Tabs.Add
TabStrip3(D).Tabs(D).Caption = "Onglet " & LI(D)
TabStrip3(D).Visible = True
End If

Next D
Frame6(1).ZOrder 0
TabStrip2.Refresh

Merci d'avance !!!

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 sept. 2005 à 16:53
D ne devrait pas être Interger?
PCPT
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
13 sept. 2005 à 16:55
integer*
et sinon aussi, un TabStrip créé dynamiquement ne l'est t'il pas sans aucun onglet? (donc Tabstrip3.Tabs(1) non-existant..)
(si (0) vide)
PCPT
0
yohan_titi Messages postés 37 Date d'inscription lundi 15 mars 2004 Statut Membre Dernière intervention 6 décembre 2006
13 sept. 2005 à 16:57
Je viens d'essayer en mettant D en integer mais j'ai tjs le meme problème

Merci d'avance à tous ceux qui m'aideront
0
yela Messages postés 16 Date d'inscription mercredi 30 octobre 2002 Statut Membre Dernière intervention 7 août 2007
13 sept. 2005 à 18:00
A chaque fois que tu load le tabstrip3, tu doit commencer avec le tab (1).

Change tabs(D) par tabs(1) dans

TabStrip3(D).Tabs(D).Caption = "Onglet " & LI(D)

et si tu veux ajouter plusieurs tabs dans le tabstrip3, fait un nouvelle boucle...

Load TabStrip3(D)

'début nouvelle boucle
for j = 1 to x
TabStrip3(D).Tabs.Add
TabStrip3(D).Tabs(j).Caption = "Onglet " & LI(D)
next
'fin nouvelle boucle
0
Rejoignez-nous