AW: Formatierung von Controltiptext
18.02.2015 18:13:15
fcs
Hallo Andreas,
den Controltip-Text kann man nicht formatieren und auch Zeilenschaltungen sind nicht möglich.
Wenn du etwas individuelleres möchtest, dann solltes du ein Label-Steuerelement im Userform anlegen.
Dieses kann dann mit dem Mausmove-Ereignis der einzelnen Steuerelemente individuell beschriftet und auch ggf. auch positioniert werden.
Nachfolgend Beispielcode für ein Userfom mit verschiedenen Steuerelementen. Bezüglich Formatierungen ist man jedoch eingeschränkt auf die Eigenschaften des Steuerelements. D.h. Farbspielereien mit Textteilen sind z.B. nicht möglich.
Gruß
Franz
'### Die folgenden 4 Makros und Ereignis-Makros sind als Basis im Userform-Code erforderlich _
um individuelle Hilfetexte zu Steuerelementen in einem Label anzuzeigen ####
'Labelname: lblHelp
'Das Label sollte linksbündig, mit Rahmen (rot), Schriftgröße min. 10 und hellem _
Hintergrund formatiert werden
Private Sub prcLabelHelp(strText As String, Optional objControl As Object, _
Optional dblHeight As Double = 30, Optional dblWidth As Double = 200)
'Ändert den Beschriftungstext des Labels, positioniert das Label optional unter _
dem Steuerelement und blendet das Hilfe-Label ein
'strText = anzuzeigender Text im Label lblHelp
'objControl = optional das Steuerelemnt zu dem der Hilfetext angezeigt werden soll _
Label wird dann unter dem Steueelement plaziert
'dblHeight = Höhe des Hilfe Labels
'dblWidth = Breite des Hilfe Labels
Me.lblHelp.Caption = strText
With Me.lblHelp
.Height = dblHeight
.Width = dblWidth
End With
If objControl Is Nothing Then
With Me.lblHelp
.Top = Me.Height - .Height - 22
.Left = 2
End With
Else
With objControl
Me.lblHelp.Top = .Top + .Height
Me.lblHelp.Left = .Left
End With
End If
Me.lblHelp.Visible = True
End Sub
Private Sub prcLabelHelpReset()
'Hilfe-Label wird links-unten im Userform plaziert und ausgeblendet
With Me.lblHelp
.Caption = "Hilfe-Label"
.Height = 30
.Width = 200
.Top = Me.Height - .Height - 22
.Left = 2
.Visible = False
End With
End Sub
Private Sub lblHelp_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
'Wird die Maus über den Hilfetext bewegt wird dieser ausgeblendet
Call prcLabelHelpReset
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
'Wird die Maus über den Userformbereich bewegt wird der Hilfetext ausgeblendet
Call prcLabelHelpReset
End Sub
'#### Beispiele zur Hilfetext-Anzeige im Label lblHelp ####
Private Sub ListBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("Listbox1 - Hilfe" & vbLf & "Hier irgendetwas auswählen", Me.ListBox1)
End Sub
Private Sub TextBox1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("TextBox1 - PLZ" & vbLf & "Hier die PLZ 5-Stellig eingeben", Me.TextBox1)
End Sub
Private Sub TextBox2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("TextBox2 - Nachname" _
& vbLf & "Hier den Nachnamen eingeben" _
& vbLf & "3. Zeile", dblHeight:=45)
End Sub
Private Sub Frame1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, _
ByVal X As Single, ByVal Y As Single)
Call prcLabelHelp("Option - Getränk" & vbLf & "Hier Option für Getränk wählen", Me.Frame1)
End Sub