Comment créer des TTabSheet dans plusieur fenetre MDI ?

glt0732 Messages postés 17 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2004 - 13 juil. 2004 à 03:00
glt0732 Messages postés 17 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2004 - 13 juil. 2004 à 12:29
J'ai un petit problem avec mon début d'application MDI, alors voila !

Pour commencer j'ai ma TForm1 suivie d'une TForm2 enfant, ensuite dans cette TForm2 il y a un TPageControl avec ses TTabSheet.

Dans mon application, a l'éxécution je peut créer une nouvelle TForm2 autant que je veux, dans cette TForm2 il y a un TPageControl contenant 1 seul TTabSheet, mais si j'en ai envie je peut créer d'autre TTabSheet, en faite au niveau du principe cela ressemble a Excel avec ces différent classeur contenant plusieur pages.

Donc pour résumer, quand on clic sur "Nouveau Fichiers" on créer un nouveau projet avec 1 seule page(TTabSheet), mais si on veut, on peut rajouter des pages dans le même Fichier(TForm2), jusque la il n'y a pas de problem, ensuite si l'on créer un 2eme Fichiers(TForm2) et que l'on lui rajoute plusieur page(TTabSheet), toujour pas de problem, mais si l'on veut revenir sur le premier Fichier pour créer une autre page, hé bien la page ce créer toujour sur le dernier Fichiers créer, donc si l'on veut rajouter une nouvelle page(TTabSheet) dans un fichier(TForm2) précédement creer, hé bien on peut pas !

Alors si vous connaissez la solutions ? Merci a vous !

1 réponse

glt0732 Messages postés 17 Date d'inscription mercredi 30 juin 2004 Statut Membre Dernière intervention 29 juillet 2004
13 juil. 2004 à 12:29
Je remercie Zeus-[SFX], et Developer13 pour leur aides de www.phidels.com!

Vous voyez Microsoft Excel ?! En gros Excel(TForm1) c'est un classeur(TForm2) avec 3 pages(TTabSheet) symboliser par des onglet en bas. Hé bien moi je voulais faire la même chose, mais le probleme est que quand je creer un 2eme classeur(TForm2) avec ces pages, he ben quand je voulais retourner sur le 1er classeur (TForm2) et que j'essayais de rajouter une autres pages(TTabSheet), hé bien il rajoutais la page sur le 2eme (TForm2) alors que j'etait retourner sur le 1er.

En clair voici le code qui n'allait pas !

//Unit1  
procedure TForm1.NewFolioExecute(Sender: TObject); 
begin  
Form2.AddFolio('Folio '); 
end; 

//Unit2 
procedure TForm2.AddFolio(const  S:String); 
var  
    Num:Integer; 
begin  
TTabSheet.Create(PageControl1).PageControl:= PageControl1; 
Num:=PageControl1.PageCount; 
PageControl1.Pages[num-1].Caption:=S+IntToStr(Num); 
 end ;


Et maintenant le code résolus ! et mes remerciement a Smortex de www.developpez.com

//Unit1  
procedure TForm1.NewFolioExecute(Sender: TObject); 
begin  
if (ActiveMDIChild <> nil) and (ActiveMDIChild is TForm2) then 
    (ActiveMDIChild as TForm2).AddFolio('Folio '); 
end; 

//Unit2 
procedure TForm2.AddFolio(const  S:String); 
var  
    Num:Integer; 
begin  
TTabSheet.Create(PageControl1).PageControl: =PageControl1; 
Num:=PageControl1.PageCount; 
PageControl1.Pages[num-1].Caption:=S+IntToStr(Num); 
end;


Un super tutoriel a lire absolument pour les débutant comme moi !

http://www.laboiteaprog.com/lsttutoriel1
0
Rejoignez-nous