Benutzer-Werkzeuge

Webseiten-Werkzeuge


k12:k12.7:start

12.7 Klasse TabPanel (gb.form)

Die Klasse TabPanel (gb.form) implementiert ein Register-Steuerelement. Dieses Steuerelement ist ein TabStrip-Ersatz mit einem feinen Rand um die Registerkarten-Reiter.

Wenn Sie mit den beiden Steuerelementen TabStrip und TabPanel arbeiten kommt schnell die Frage auf, ob Sie u.U. ein TabPanel einem TabStrip vorziehen sollten. Die Entscheidung fällt sicher leichter, wenn Sie die folgenden Fakten kennen:

  • TabStrip (gb.qt4) ist eine native QT-Klasse, auf welche die Gambas-Entwickler kaum Einfluss haben.
  • TabPanel dagegen ist eine Klasse in gb.form, die in Gambas geschrieben wurde. Somit ist es einfacher, ein neues Feature in TabPanel zu implementieren.
  • Ein TabPanel hat mehr Eigenschaften als ein TabStrip: TabPanel.Highlight → Abbildung 12.7.2 und TabPanel.Moveable.
  • Nur das TabPanel besitzt das Event TabPanel.CloseAll.
  • Ein TabStrip verfügt über die Methode TabStrip.FindIndex(..), die bei einem TabPanel nicht existiert.
  • Die Methode Remove(Index As Integer) gibt es nur bei einem TabPanel.

B1

Abbildung 12.7.1: TabStrip

B2

Abbildung 12.7.2: TabPanel mit TabPanel.Highlight = False

12.7.1 Eigenschaften

Im folgenden nächsten Abschnitt werden nur die zusätzlichen Eigenschaften der Klasse TabPanel (gb.form) – gegenüber der Klasse TabStrip (gb.qt4) – vorgestellt:

EigenschaftDatentypBeschreibung
HighlightBooleanSetzt für den Wert 'True' den Hintergrund der nicht aktiven Register-Karten auf dunkelgrau → Abbildung 12.7.2, damit der aktive Registerkarten-Reiter besser sichtbar wird oder gibt den Wert zurück.
MoveableBooleanGibt mit dem Wert 'True' an, ob die Register-Karten über den Registerkarten-Reiter mit der Maus umgeordnet (verschoben) werden können oder gibt den Wert zurück.

Tabelle 12.7.1.1 : Ausgewählte Eigenschaften der Klasse TabPanel

12.7.2 Methoden

Die Methoden der Klasse TabStrip wurden um die Methode TabPanel.Remove (gb.form) erweitert:

Sub Remove (Index As Integer)

Mit dieser Methode entfernen Sie die Register-Karte mit dem angegebenen Index aus dem Register, sofern die Register-Karte keine Steuerelemente enthält. Sonst erhalten Sie die Fehler-Meldung „TabPanel container ist not empty“.

12.7.3 Projekt

Das vorgestellte Projekt basiert auf dem TabStrip-Projekt im → Kapitel 12.6.2. Es wurden zusätzlich die beiden Eigenschaften TabPanel.Highlight und TabPanel.Moveable eingesetzt. Der Quelltext kann bei der Erprobung des Projektes nachgelesen werden, weil er zur Laufzeit in einem Editor angezeigt wird. Die folgenden Bilder geben einen Eindruck von der Gestaltung der 3 Register-Karten auf dem TabPanel.

B11

Abbildung 12.7.3.1: Originale Anordnung der Register-Karten mit TabPanel.Highlight = True

Wechseln Sie zur ersten Register-Karte, so sehen Sie einen kleinen Ausschnitt aus dem Projekt-Quelltext. Außerdem erkennen Sie die geänderte Anordnung der Registerkarten-Reiter (unten) für das 2. Register mit zwei Register-Karten, bei dem die Eigenschaft TabPanel.Highlight nicht gesetzt wurde.

B2

Abbildung 12.7.3.2: Anzeige Projekt-Quelltext in einem Editor

Sie können sich den Quelltext aber auch gut lesbar in einer TextArea ansehen, wenn Sie das Programm-Fenster maximieren:

B3

Abbildung 12.7.3.3: Alternative Anzeige Projekt-Quelltext in einem Editor

Über die Schaltfläche links unten wechseln Sie sofort zur Register-Karte 3 (Index = 2) und rufen dort mit der voreingestellten Funktion sowie dem angegebenen Argument-Intervall und der Schrittweite für die Argumente in einer Wertetabelle die Argumente x und die Funktionswerte f(x) auf. Beachten Sie, dass intern eine Prüfung auf valide Funktionswerte vorgenommen wird – aber das gehört schon nicht mehr zum Thema TabPanel!

B4

Abbildung 12.7.3.4: Wertetabelle

Sie können den Registerkarten-Reiter – und damit die Register-Karte – mit dem Text 'Farben-Auswahl' mit gedrückter Maustaste zum Beispiel nach rechts verschieben, da die Eigenschaft TabPanel.Moveable auf den Wert True gesetzt wurde und erhalten dann gegenüber dem Original → Abbildung 12.7.3.1 diese geänderte Anordnung der Register-Karten:

B12

Abbildung 12.7.3.5: Verschiebung der Register-Karte 'Farben-Auswahl' nach rechts

Hinweis:

Auf die Möglichkeit, Register-Karten zur Laufzeit zu verschieben, muss in geeigneter Weise bei der Umschaltung auf die Register-Karte mit der Wertetabelle → Abbildung 12.7.3.3 reagiert werden, da sich deren Index dann ändert:

Public Sub btnSwitchToTabWT_Click()
  Dim i As Integer
 
  For i = 0 To TabPanel1.Count - 1  
    If TabPanel1[i].Text = WT_CAPTION Then '  WT_CAPTION = "Wertetabelle"
       TabPanel1.Index = i
       Break
    Endif
  Next
 
End ' btnSwitchToTabWT_Click()

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k12/k12.7/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge