Aún falta hacer una prueba más con el PageControl. Vamos a suponer que tomamos un PageControl y colocamos algunas pestañas (TabSheet).
Ahora vamos a su evento OnChanging y hacemos algo como esto:
Código Delphi
[-]
procedure TForm1.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
AllowChange:=False;
end;
El resultado es que no podremos cambiar de pestaña dado que lo hemos indicado textualmente con la variable AllowChange.
También es posible hacerlo de manera condicional según nuestra conveniencia. Por ejemplo:
Colocamos 5 pestañas en un PageControl y en el evento OnChanging escribimos esto
Código Delphi
[-]
procedure TForm1.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
AllowChange:=(TPageControl(Sender).ActivePageIndex<3);
end;
Le estamos indicando que solamente nos permita hacer clic en las pestañas si estamos dentro de alguna de las primeras cuatro páginas. Luego entonces, si caemos en la última página no tendremos salida (no se puede hacer clic en las pestañas), para salir de allí colocamos un botón para que nos regrese a la primera página al hacer click sobre él.
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
begin
PageControl1.ActivePageIndex:=0;
end;
Me parece entender que esto es lo que planteaba
bosterito
Saludos