uses Unit1, TabNotBk; {$R *.dfm} procedure AddTabPage(TabbedNoteBook: TTabbedNoteBook); var i: integer; RichEdit : TRichEdit; TabPage : TTabPage; //Non documenté dans l'aide de Delphi begin { Création de deux onglets supplémentaires sur le composant TTabNoteBook} for i := 0 to 1 do with TabbedNoteBook do begin //La page créée devient la page courante PageIndex := Pages.Add('Page ' + IntToStr(Pages.Count + 1)); {La classe TTabPageAccess étant déclarée dans la partie implémentation de l'unité TabNotBk.pas, nous ne pouvons y accéder directement. En réalité, la propriété Pages du composant TTabNoteBook est une TStrings qui stocke une référence dans la propriété Objects de chaque ligne. Il suffit de transtype cette dernière en TTabPage et nous obtenons la référence sur le Parent du RichEdit que nous créons juste après.} TabPage := TTabPage(Pages.Objects[PageIndex]); {Attention : la fiche reste propriétaire du contrôle RichEdit. Si vous observez la vue arborescente des objets (dans le menu voir), vous remarquerez que le composant TTabNoteBook ne possède aucun des composants que l'on dépose sur sa surface.} RichEdit := TRichEdit.Create(TabbedNoteBook.Owner); {Maintenant, y'a plus qu'à...} RichEdit.Parent := TabPage; RichEdit.Align := alClient; end; end; procedure TForm3.btnAddTTabPageClick(Sender: TObject); begin AddTabPage(Form1.TabbedNotebook1); end;