Textbox-Eigenschaft nicht änderbar
04.07.2020 22:28:11
Peter
ich versuche seit Stunden dieses Problem zu lösen, mitunter durch diverse Workarounds aber nichts funktioniert...
Die folgende Prozedur soll, wenn die Textbox keinen Wert enthält, den Wert der Eigenschaft Tag nehmen und ihn Grau + Kursiv in die Textbox eintragen (Hinweis an den User, z.B. "hh:mm" bei einer Textbox für Uhrzeiten)
Wird die Box angeklickt, wird das wieder rückgängig gemacht und der User hat eine leere Textbox mit schwarzer normaler Schriftart zum Ausfüllen.
Das Problem. Der Befehl .Font.Italic = False bzw. .Font.Italic = True werden manchmal ignoriert, d.h. Die Schrift ist beim Beschriften Kursiv obwohl sie es nicht soll und manchmal ist der Tag normal. Wenn ich mit F8 durch den Code gehe kann ich ebenfalls sehen dass die Eigenschaft mit True bei .Font.Italic = False manchmal danach immer noch True aufweist.
Public Sub uF_SetPrompt(tbForm As MSForms.TextBox, Value_True_Or_Tag_False As Boolean)
Dim cStdColor As Long = &H80000008
Dim cDimColor As Long = &HC0C0C0
With tbForm
If Value_True_Or_Tag_False = True Then
If .Text = .Tag And .Tag "" Then
' ---> enterne Tag, entferne Font Italic+Grey
.ForeColor = cStdColor
.Font.Italic = False
.Text = ""
Else
' ---> entferne Font Italic+Grey
.ForeColor = cStdColor
.Font.Italic = False
End If
Else
If .Text = "" Then
' ---> adde Tag, adde Font Italic+Grey
.ForeColor = cDimColor
.Font.Italic = True
.Text = .Tag
ElseIf .Text = .Tag And .Tag "" Then
' ---> adde Font Italic+Grey
.ForeColor = cDimColor
.Font.Italic = True
End If
End If
End With
End Sub
Was übersehe ich hier?