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.537 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
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. |
sevWizard für VB5/6 Professionelle Assistenten im Handumdrehen Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |