El control TPageControl Delphi muestra un conjunto de páginas utilizadas para crear un cuadro de diálogo de varias páginas. Cada página, una hoja de pestañas, alberga sus propios controles. El usuario selecciona una página (la hace visible) haciendo clic en la pestaña de la página que aparece en la parte superior del control.
Si necesita crear una interfaz de usuario similar a un asistente en la que aparezcan botones Siguiente y Anterior para mover a un usuario hacia adelante y hacia atrás a través de un conjunto de páginas (cuadros de diálogo), oculte las pestañas del Control de página y, por lo tanto, no permita seleccionar una página en particular. del mouse del usuario.
El truco está en configurar el TabVisible propiedad a falso para cada una de las hojas (objeto TTabSheet) del control de página.
Activando la página usando cualquiera de los dos ActivePage o la ActivePageIndex Las propiedades de PageControl serán no Levante el OnChange y En cambio eventos.
Para configurar mediante programación la página activa, use el método SelectNextPage:
// Ocultar pestañas de control de página
var
página: entero;
empezar
para la página: = 0 a PageControl1.PageCount - 1 do
empezar
PageControl1.Pages [página] .TabVisible: = false;
final;
// selecciona la primera pestaña
PageControl1.ActivePageIndex: = 0;
(*
O configure la página activa directamente
PageControl1.ActivePage: = TabSheet1;
Nota: los dos anteriores NO elevan el
Eventos OnChanging y OnChange
*)
final;
procedimiento TForm1.PageControl1Changing (
Remitente: TObject;
var AllowChange: Boolean);
empezar
// sin cambios si en la última página
AllowChange: = PageControl1.ActivePageIndex < -1 + PageControl1.PageCount;
final;
// Seleccione "Anterior" Tabprocedure TForm1.PreviousPageButtonClick (Remitente: TObject);
empezar
PageControl1.SelectNextPage (falso, falso);
final;
// Seleccione "Siguiente" Tabprocedimiento TForm1.NextPageButtonClick (Remitente: TObject);
empezar
PageControl1.SelectNextPage (verdadero, falso);
final;
El uso de esta técnica desordenará el formulario, lo que conducirá a una interfaz más optimizada, pero garantizará que la disposición de los controles en cada pestaña no obligue al usuario a moverse con frecuencia entre pestañas..