Création dynamique d'onglets dans d'autres onglets

Résolu
seba31stien Messages postés 51 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 25 juillet 2006 - 18 juil. 2006 à 10:37
seba31stien Messages postés 51 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 25 juillet 2006 - 18 juil. 2006 à 12:13
Bonjour,
mon appli crée dynamiquement des onglets (on les appellera niveau I ).Dans chacun des onglets niveau I, je recrée d'autres onglets niveau II. Je rencontre le problème suivant : la création des onglets niveau II se fait mais dès que je clique sur un autre onglet niveau I, et que je reviens sur cet onglet niveau I, tous mes onglets niveau II ont disparu.
je pense que ce doit être un problème de parent ou un truc dans le genre, voici mon code :
//création des onglets niveau I
Pagecontrol_PersoFH:=TPageControl.Create(self);
Pagecontrol_PersoFH.Parent:=self;
for i_bond :=1 to 5
do begin
//--> création des onglets
ts_PersoFH[i_bond]:=TTabsheet.Create(self);
ts_PersoFH[i_bond].Caption:='Bond '+inttostr(i_bond);
ts_PersoFH[i_bond].PageControl:=Pagecontrol_PersoFH;
...
//création des onglets niveau II
Pagecontrol_PersoFH2:=TPageControl.Create(self);
Pagecontrol_PersoFH2.Parent:=Pagecontrol_PersoFH ? ;// self ? ;
for i_onglet_perso :=1 to 4
do begin
//--> création des onglets
ts_PersoFH2[i_onglet_perso]:=TTabsheet.Create(self);
ts_PersoFH2[i_onglet_perso].Parent:=Pagecontrol_PersoFH2 ?;// ts_PersoFH[i_onglet_perso]?;
ts_PersoFH2[i_onglet_perso].PageControl:=Pagecontrol_PersoFH2;
end;

merci pour toute aide
Seb

2 réponses

seba31stien Messages postés 51 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 25 juillet 2006 1
18 juil. 2006 à 12:13
Pagecontrol_PersoFH:=TPageControl.Create(self);
Pagecontrol_PersoFH.Parent:=self;
...

for i_bond :=1 to strtoint(cbx_nombre_de_liaisons_FH_entre_les_deux_sites.Text)
do begin
//--> création des onglets
ts_PersoFH[i_bond]:=TTabsheet.Create(self);
ts_PersoFH[i_bond].Caption:='Bond '+inttostr(i_bond);
ts_PersoFH[i_bond].PageControl:=Pagecontrol_PersoFH;

Pagecontrol_PersoFH2[i_bond]:=TPageControl.Create(self);
Pagecontrol_PersoFH2[i_bond].Parent:=ts_PersoFH[i_bond];
...

for i_onglet_perso :=1 to 5
do begin
//--> création des onglets
ts_PersoFH2[i_bond,i_onglet_perso]:=TTabsheet.Create(self);
ts_PersoFH2[i_bond,i_onglet_perso].PageControl:=Pagecontrol_PersoFH2[i_bond];
end;
3
seba31stien Messages postés 51 Date d'inscription lundi 13 juin 2005 Statut Membre Dernière intervention 25 juillet 2006 1
18 juil. 2006 à 10:54
je viens de me rendre compte aussi que mon page control de niveau II devra être un tableau de pagecontrol car il en faudra un dans chaque onglet de niveau I.
Mais :
Pagecontrol_PersoFH2[i_onglet_perso]:=TPageControl.Create(self);
fait planter delphi !
0
Rejoignez-nous