Ok, ahora está más claro.
El algoritmo ya lo tienes:
1. Crear un TabSheet (una página del PageControl)
2. Crear un RichEdit e insertarlo en el TabSheet
3. Agregar el Tabsheet al PageControl
Te quedaría algo así:
Código Delphi
[-]
var
TabSheet: TTabSheet;
RichEdit: TRichEdit;
begin
TabSheet := TTabSheet.Create(Self);
TabSheet.Caption := Format('TabSheet%d', [PageControl.PageCount + 1]);
RichEdit := TRichEdit.Create(Self);
RichEdit.Align := alClient;
RichEdit.Parent := TabSheet;
TabSheet.PageControl := PageControl;
PageControl.ActivePage := TabSheet;
end;
Nota que la inserción del TabSheet en el PageControl es lo último que haces justamente por lo que comenta
mamcx- al dejarla al final te aseguras que será visible al usuario sólo hasta que todo esté acomodado.
En el Caption del TabSheet simplemete estoy asignando un número secuencial pero puedes adaptarlo a que sea, por ejemplo, 'Documento1', 'Documento2', 'Documento3', etc. También, si lo que deseas es
abrir un archivo ya existente en lugar de crear uno nuevo entonces puedes usar RichEdit.Lines.LoadFromFile('archivo.rtf') para que se cree la nueva instancia del editor ya con el archivo cargado.
// Saludos