TPageControl Delphi-kontrollen visar en uppsättning sidor som används för att skapa en flersidig dialogruta. Varje sida - ett flikblad - har sina egna kontroller. Användaren väljer en sida (gör den synlig) genom att klicka på sidans flik som visas högst upp på kontrollen.
Om du behöver skapa ett guiderliknande användargränssnitt där nästa och föregående knappar visas för att flytta en användare framåt och bakåt genom en uppsättning sidor (dialogrutor), dölja flikarna på PageControl och därmed tillåta inte att välja en viss sida med hjälp av av användarens mus.
Tricket är att ställa in TabVisible egenskap till falskt för varje ark (TTabSheet-objekt) på sidkontrollen.
Aktivera sidan med antingen ActivePage eller den ActivePageIndex PageControl-egenskaper kommer inte Höj OnChange och OnChanging evenemang.
För att programmera den aktiva sidan använder du metoden SelectNextPage:
// Dölj PageControl-flikar
var
sida: heltal;
Börja
för sida: = 0 till PageControl1.PageCount - 1 do
Börja
PageControl1.Pages [sida] .TabVisible: = falsk;
slutet;
// välj den första fliken
PageControl1.ActivePageIndex: = 0;
(*
Eller ställ in Aktiv sida direkt
PageControl1.ActivePage: = TabSheet1;
Obs: ovanstående två höjer INTE
OnChanging och OnChange-evenemang
*)
slutet;
procedur TForm1.PageControl1Changing (
Avsändare: TObject;
var AllowChange: Boolean);
Börja
// ingen förändring om på sista sidan
AllowChange: = PageControl1.ActivePageIndex < -1 + PageControl1.PageCount;
slutet;
// Välj "Föregående" Tabprocedure TForm1.PreviousPageButtonClick (avsändare: TObject);
Börja
PageControl1.SelectNextPage (falsk, falsk);
slutet;
// Välj "Next" Tabprocedure TForm1.NextPageButtonClick (avsändare: TObject);
Börja
PageControl1.SelectNextPage (true, false);
slutet;
Genom att använda denna teknik kommer att röra bort formen, vilket leder till ett mer strömlinjeformat gränssnitt, men se till att arrangemanget av kontroller på varje flik inte tvingar användaren att flytta ofta mellan flikarna.