vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Controls · Sonstiges   |   VB-Versionen: VB5, VB610.01.03
Inhalt von SSTAB zur Laufzeit modifizieren

Dieses Beispiel zeigt, wie sich Steuerelemente innerhalb des SSTab-Control zur Laufzeit verschieben lassen.

Autor:   Reinhard WolfBewertung:     [ Jetzt bewerten ]Views:  13.530 
www.wolf-it-service.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Das folgende Beispiel verschiebt eine Textbox innerhalb des SSTab-Controls von einem Register auf ein anderes. Das geht natürlich auch mit jedem anderen Control. Knackpunkt der ganzen Geschichte ist die Tatsache, dass zunächst das zu bewegende Control einem anderen Container zugewiesen wird (in unserem Beispiel der Form selbst).

Dann wird im TabbedDialog das gewünschte Register gesetzt und die Containereigenschaft des zu bewegenden Controls auf das TabbedDialog zurückgesetzt.

Im nachfolgenden Beipiel enthält die Form ein SSTab1 mit 3 Registerkarten. Die mittlere Registerkarte enthält eine Textbox Text1. Weiterhin gibt es noch drei Schaltflächen Command1 bis Command3, über die man die TextBox auf die einzelnen Register "umplatzieren" kann.

Startet man die Anwendung kann man sich durch Klicken auf die Registerlaschen überzeugen, dass nur Tab2 die Textbox enthält. Ein Klick auf Command1 setzt die Textbox nach Tab1, Command2 nach Tab2 und Command3 nach Tab3.

Die Form1 enthält hierzu folgenden Quellcode:

Option Explicit
 
' Hier merken wir uns die Registerkarte,
' die das Control aktuell enthält
Private AktTab As Integer
 
Private Sub Form_Load()
  ' Beim Laden befindet sich die TextBox
  ' auf dem 2. Register, als SSTab1.Tab = 1
  AktTab = 1
End Sub
 
Private Sub Command1_Click()
  ' TextBox auf die 1. Registerkarte "umplatzieren"
  SSTab_MoveControl Text1, 0
End Sub
 
Private Sub Command2_Click()
  ' TextBox auf die 2. Registerkarte "umplatzieren"
  SSTab_MoveControl Text1, 1
End Sub
 
Private Sub Command3_Click()
  ' TextBox auf die 3. Registerkarte "umplatzieren"
  SSTab_MoveControl Text1, 2
End Sub
' Control innerhalb des SSTab-Controls "umplatzieren"
Private Sub SSTab_MoveControl(oControl As Control, _
  ByVal nTab As Integer)
 
  Dim nTabCur As Integer
 
  With oControl
    ' aktuelle Registerkarte "merken"
    nTabCur = SSTab1.Tab
 
    ' Registerkarte öffnen, auf der das Control
    ' bisher angezeigt wird
    SSTab1.Tab = AktTab
 
    ' Control unsichtbar machen und der Form zuweisen
    .Visible = False
    Set .Container = Me
 
    ' Zielregisterkarte öffnen und in "AktTab merken"
    SSTab1.Tab = nTab
    AktTab = nTab
 
    ' Control dem Registerblatt zuordnen
    Set .Container = SSTab1
 
    ' ursprüngliche Registerkarte wieder öffnen
    SSTab1.Tab = nTabCur
 
    ' TextBox wieder sichtbar machen
    .Visible = True
  End With
End Sub

Vorteilhaft hat sich diese Methode auch beim Laden von Controls zur Laufzeit erwiesen, um ein neues Control auf die entsprechende Registerkarte zu setzen.
 

Dieser Tipp wurde bereits 13.530 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
(einschl. Beispielprojekt!)

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel