Controlul TPageControl Delphi afișează un set de pagini utilizate pentru a crea o casetă de dialog cu mai multe pagini. Fiecare pagină - o foaie de file - găzduiește propriile controale. Utilizatorul selectează o pagină (o face vizibilă) făcând clic pe fila paginii care apare în partea de sus a controlului.
Dacă aveți nevoie pentru a crea o interfață de utilizator asemănătoare cu vrăjitorul în care aveți butoane Next și Previous care apar pentru a muta un utilizator înainte și înapoi printr-un set de pagini (dialoguri), ascundeți filele PageControl și, astfel, nu permiteți selectarea unei anumite pagini cu ajutorul a mouse-ului utilizatorului.
Trucul este în setarea TabVisible proprietate către false pentru fiecare dintre foile (obiectul TTabSheet) din controlul paginii.
Activarea paginii utilizând fie ActivePage sau ActivePageIndex Proprietățile PageControl vor nu Ridicați Cu privire la schimbările și OnChanging evenimente.
Pentru a seta programatic pagina activă, utilizați metoda SelectNextPage:
// Ascundeți filele PageControl
var
pagina: întreg;
începe
pentru pagina: = 0 la PageControl1.PageCount - 1 do
începe
PageControl1.Pages [pagina] .TabVisible: = false;
Sfârșit;
// selectați prima filă
PageControl1.ActivePageIndex: = 0;
(*
Sau setați direct pagina activă
PageControl1.ActivePage: = TabSheet1;
Notă: cele două de mai sus NU ridică
Evenimente OnChanging și OnChange
*)
Sfârșit;
procedura TForm1.PageControl1Changing (
Expeditor: TObject;
var AllowChange: Boolean);
începe
// nici o schimbare dacă în ultima pagină
AllowChange: = PageControl1.ActivePageIndex < -1 + PageControl1.PageCount;
Sfârșit;
// Selectați tabul „Precedent” TForm1.PreviousPageButtonClick (Expeditor: TObject);
începe
PageControl1.SelectNextPage (fals, fals);
Sfârșit;
// Selectați tabela „Următorul” TForm1.NextPageButtonClick (Expeditor: TObject);
începe
PageControl1.SelectNextPage (adevărat, fals);
Sfârșit;
Folosind această tehnică se va decongela formularul, conducând la o interfață mai simplificată, dar se va asigura că aranjarea controalelor pe fiecare file nu obligă utilizatorul să se deplaseze frecvent între file.