Hola rufo.
Como te comenta
Al González, al no ser específico hay muchas formas de interpretar tu consulta.
Un ejemplo con otra opción:
Código Delphi
[-]
...
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
PageControl1: TPageControl;
procedure FormCreate(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
public
end;
...
implementation
const
NTABSHEETS = 5;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
tab: TTabSheet;
begin
for i := 1 to NTABSHEETS do
begin
ComboBox1.Items.Add(Format('%s%d', ['Edit', i]));
tab := TTabSheet.Create(Self);
tab.PageControl := PageControl1;
tab.Name := Format('%s%d', ['TabSheet', PageControl1.PageCount]);
tab.Caption := tab.Name;
tab.Visible := True;
tab.Show;
with TEdit.Create(Self) do
begin
Name := Format('%s%d',['Edit', i]);
Height := 21;
Width := 75;
Left := 10;
Top := 30;
Parent := tab;
end;
end;
ComboBox1.ItemIndex := 0;
PageControl1.TabIndex:= 0;
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
with TComboBox(Sender) do
if ItemIndex <> -1 then
PageControl1.TabIndex := ItemIndex;
end;
Saludos