Kontakt
DSVGO
Historie | |
15.05.2002 | Hinweis auf Clipboard-Problem (Dank an Daniel Jaeger) |
26.01.2001 | Erste Version |
Schlimm genug, dass die Alignment-Eigenschaft der TextBox nicht zur Laufzeit veränderbar ist.
Doch auch wenn man diese Eigenschaft schon zur Design-Zeit z.B. auf rechtsbündig (vbRightJustify) setzt, wird der in einer einzeiligen TextBox befindliche Text u.U. nicht ausgerichtet. Dieses Problem tritt insbesondere unter Windows 95/98 auf.
Umgehen kann man dieses Problem, in dem man die MultiLine-Eigenschaft auf True setzt.
Dadurch kann der Benutzer aber u.U. mehrzeiligen Text dort eingeben, wo eigentlich keiner gewünscht ist. Daher sollte zusätzlich folgender Code in dem KeyPress-Ereignis der entsprechenden TextBox geschrieben werden, um die Eingabe einer neuen Zeile zu verhindern.
Private Sub Text1_KeyPress(KeyAscii As Integer) If KeyAscii = vbKeyReturn Then KeyAscii = 0 End Sub
Achtung: Das Einfügen eines mehrzeiligen Textes via Zwischenablage wird dadurch nicht verhindert. Daher müssen bei jedem Change-Ereignis etwaige Zeilenumbrüche eliminiert/ersetzt werden, etwa so:
Private Sub Text1_Change() TextboxRemoveNewlines Text1 End Sub
Sub TextboxRemoveNewlines(ByRef txt As TextBox) Dim SelStart As Long Dim SelLength As Long With txt If InStr(.Text, vbNewLine) Then SelStart = .SelStart SelLength = .SelLength .Text = Replace(.Text, vbNewLine, "| ") .SelStart = SelStart .SelLength = SelLength Beep End If End With End Sub
© Jost Schwider, 26.01.2001-15.05.2002 - http://vb-tec.de/txtalign.htm