So blenden Sie die Registerkarten des TPageControl Delphi-Steuerelements aus

Das TPageControl Delphi-Steuerelement zeigt eine Reihe von Seiten an, mit denen ein mehrseitiges Dialogfeld erstellt wird. Jede Seite - eine Registerkarte - enthält ihre eigenen Steuerelemente. Der Benutzer wählt eine Seite aus (macht sie sichtbar), indem er auf die Registerkarte der Seite klickt, die oben im Steuerelement angezeigt wird.

Ausblenden von PageControl-Registerkarten

Wenn Sie eine assistentenähnliche Benutzeroberfläche erstellen müssen, in der die Schaltflächen "Weiter" und "Zurück" angezeigt werden, um einen Benutzer vorwärts und rückwärts durch eine Reihe von Seiten (Dialogfeldern) zu bewegen, blenden Sie die Registerkarten von PageControl aus und erlauben Sie somit nicht, eine bestimmte Seite auszuwählen der Maus des Benutzers.

Der Trick ist das Einstellen der TabVisible property to false für jedes Blatt (TTabSheet-Objekt) des Seitensteuerelements.

Aktivieren der Seite mit den Tasten ActivePage oder der ActivePageIndex PageControl-Eigenschaften werden nicht erhöhe die Bei Änderung und OnChanging Veranstaltungen.

Verwenden Sie die SelectNextPage-Methode, um die aktive Seite programmgesteuert festzulegen:

 // PageControl-Registerkarten ausblenden
var
Seite: Ganzzahl;
Start
für Seite: = 0 zu PageControl1.PageCount - 1 tun
Start
PageControl1.Pages [page] .TabVisible: = false;
Ende;
// wähle die erste Registerkarte
PageControl1.ActivePageIndex: = 0;
(*
Oder setzen Sie Active Page direkt
PageControl1.ActivePage: = TabSheet1;
Hinweis: die beiden oben genannten erhöhen NICHT die
OnChanging- und OnChange-Ereignisse
*)
Ende;
procedure TForm1.PageControl1Changing (
Absender: TObject;
var AllowChange: Boolean);
Start
// keine Änderung wenn auf der letzten Seite
AllowChange: = PageControl1.ActivePageIndex < -1 + PageControl1.PageCount;
Ende;
// "Vorherige" Registerkarte auswählen TForm1.PreviousPageButtonClick (Sender: TObject);
Start
PageControl1.SelectNextPage (false, false);
Ende;
// Wähle "Next" Tabprocedure TForm1.NextPageButtonClick (Sender: TObject);
Start
PageControl1.SelectNextPage (true, false);
Ende;

Durch diese Technik wird das Formular übersichtlicher, was zu einer optimierten Benutzeroberfläche führt. Achten Sie jedoch darauf, dass die Anordnung der Steuerelemente auf den einzelnen Registerkarten den Benutzer nicht dazu zwingt, häufig zwischen den Registerkarten zu wechseln.