Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
380to384
380to384
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

tabstrip: Hilfetexte darstellen

tabstrip: Hilfetexte darstellen
12.02.2004 15:13:19
Peter3
Hallo zusammen,
ich möchte in einem TabStrip-Element eine kleine Hilfedatei mit drei verschiedenen Texten auf drei Registerkarten verteilen.
Der Text steht in einem Label, welches in einem Frame eingebettet ist.
Wie weise ich den Registerkarten die verschiedenen Label-Captions zu ?
Oder gibt es eine viel elegantere Lösung ?
Im Archiv habe ich keine treffende Antwort gefunden.
Ich freue mich über Tips und Anregungen

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: tabstrip: Hilfetexte darstellen
12.02.2004 20:37:21
Dieter Klemke
Hallo Peter3,
der Code zu deinem UserForm-Objekt könnte z.B. so aussehen
(tabHilfe - TabStrip-Steuerelement, lblHilfe - Label)
Option Explicit
Private HilfeText(0 To 2) As String

Private Sub btnSchließen_Click()
Unload Me
End Sub


Private Sub tabHilfe_Change()
lblHilfe.Caption = HilfeText(tabHilfe.Value)
End Sub


Private Sub UserForm_Initialize()
HilfeText(0) = "ABC"
HilfeText(1) = "UVW"
HilfeText(2) = "XYZ"
tabHilfe.Value = 0
End Sub

MfG
Dieter
Anzeige
AW: tabstrip: Hilfetexte darstellen
12.02.2004 22:52:14
Peter3
Hallo Dieter,
herzlichen Dank für Deine Antwort, sie hilft mir deutlich weiter.
Nun habe ich deinen Code ohne Option Explicit anzupassen versucht, was dazu führt, dass die Variablen nicht mehr übergeben werden. Wo muss ich die außerdem deklarieren ? Außerdem möchte ich gern die ersten beiden Standardregister tab1 und tab2 löschen oder umbenennen. Wenn´s paßt, kannst Du Dich vielleicht nochmal durch meinen Code kämpfen ?
Hier der Code:
Sub UserForm_Initialize()
Dim HilfeText(0 To 7) As String
'Dim tab1 As Object
'Dim tab2 As Object
With ts_helpme
'.Tabs.Remove (tab1)
'.Tabs.Remove (tab2)
.Tabs.Add "Register1"
.Tabs.Add "Register2"
.Tabs.Add "Register3"
.Tabs.Add "Register4"
.Tabs.Add "Register5"
.Tabs.Add "Register6"
End With
HilfeText(0) = "ABC"
HilfeText(1) = "blabla"
HilfeText(2) = "XYZ"
HilfeText(3) = "UVW"
HilfeText(4) = "genau"
HilfeText(5) = "sowieso"
ts_helpme.Value = 0
End Sub

'____________________________________________________________

Private Sub ts_helpme_Change()
Dim HilfeText(0 To 7) As String
lbl_hilfetext.Caption = HilfeText(ts_helpme.Value)
End Sub

'___________________________________________________________

Private Sub cb_exithelp_Click()
Unload Me
End Sub


Gruß, Peter
Anzeige
AW: tabstrip: Hilfetexte darstellen
13.02.2004 09:18:57
Dieter Klemke
Hallo Peter,
leider wird bei dem geposteten Programmcode der Teil, der vor der 1. Prozedur steht nicht in Courier dargestellt.
Die Deklaration des Feldes HilfeText steht im Code-Modul der UserForm ganz oben, direkt hinter "Option Explicit" in der jetzt angepassten Form
Private HilfeText(0 To 5) As String
Jetzt zu deiner Frage mit den Registern.
Du hast zwei Möglichkeiten:
1. Manuelle Anpassung der Register
Du klickst einmal auf ein Tab deines TabStrips und anschließend noch ein zweites Mal (keinen Doppelklick). Nach dem zweiten Klicken bekommt dein TabStrip einen dunkel schraffierten Rahmen. Jetzt kannst du mit der rechten Maustaste auf einen Tab klicken. In dem erscheinenden Kontext-Menü wählst du "Umbenennen...", um die Register-Beschriftung zu ändern. Über den Eintrag "Neue Seite" kannst du ein weiteres Tab hinzufügen, usw.
2. Anpassung per Programm (in der Initialisierungsprozedur zum UserForm)
Ich füge dir noch einmal den gesamten Programm-Code aus dem UserForm-Code-Modul bei.
Wie gesagt, die ersten beiden Zeilen gehören dazu, obwohl sie in anderer Schriftart dargestellt sind:
Option Explicit
Private HilfeText(0 To 5) As String

Private Sub cb_exithelp_Click()
Unload Me
End Sub


Private Sub ts_helpme_Change()
lbl_hilfetext.Caption = HilfeText(ts_helpme.Value)
End Sub


Private Sub UserForm_Initialize()
Dim i As Long
HilfeText(0) = "ABC"
HilfeText(1) = "blabla"
HilfeText(2) = "XYZ"
HilfeText(3) = "UVW"
HilfeText(4) = "genau"
HilfeText(5) = "sowieso"
With ts_helpme
' 4 neue Tab-Objekte hinzufügen
For i = 1 To 4
.Tabs.Add
Next i
' Überschriften aller Tab-Objekte setzen
For i = 0 To .Tabs.Count - 1
.Tabs(i).Caption = "Reg " & i + 1
Next i
' 1. Register auswählen
' (d.h. bei der Darstellung der UserForm ist Register 1 aktiviert)
.Value = 0
End With
End Sub

Falls du dich dazu entschließt, die Tabs manuell zu erzeugen und zu beschriften, dann entfallen natürlich die beiden Abschnitte "4 neue Tab-Objekte hinzufügen" und "Überschriften aller Tab-Objekte setzen".
Falls es noch Probleme gibt, melde dich bitte.
MfG
Dieter
Anzeige
AW: tabstrip: Hilfetexte darstellen
13.02.2004 11:30:41
Peter3
Hallo Dieter,
nun läuft es dank Deiner Hilfe so, wie ich es mir vorgestellt habe. Merci !
Die Sache mit der manuellen Anpassung kannte ich noch nicht. Die
dynamische Variante funktioniert auch einwandfrei. Auch weitere Labels
pro Register lassen sich nun (bei entsprechender Deklaration) einfügen und ansprechen.
Ich bin mit "Option Explicit" immer etwas nachlässig gewesen.
Nun läuft´s bestens. Hab was dazugelernt.
Nochmals herzlichen Dank für Deine Mühe und ein
schönes WE :-)))
Gruß, P.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige