Tipp 0007 Überschreibmodus für die Textbox
Autor/Einsender:
Datum:
  Detlev Schubert
03.01.2001
Entwicklungsumgebung:   VB 5
Leider bietet die Textbox keinen Überschreib-Modus, bei dem das jeweils nächste Zeichen hinter dem Cursor durch das eingegebene Zeichen ersetzt werden kann. Mit nur einer Zeile Code im KeyPress-Ereignis der Textbox wird diese Möglichkeit geboten.
Existiert keine Markierung, wird das Zeichen hinter dem Cursor bei Eingabe eines neuen Zeichens als ausgewählt markiert und durch das neu eingegebene Zeichen ersetzt. Im Beispiel werden hiervon die Enter-Taste (ASCII-Code 13) und die BackSpace-Taste (ASCII-Code 8) ausgenommen.
 
Option Explicit

Dim Ueberschreiben As Boolean

Private Sub Text1_KeyPress(KeyAscii As Integer)
  If Ueberschreiben = True Then
     If KeyAscii <> 8 And KeyAscii <> 13 And Text1.SelLength = 0 _
        Then Text1.SelLength = 1
  End If
End Sub

Private Sub Command1_Click(Index As Integer)
  Ueberschreiben = Ueberschreiben Xor -1
  Command1(0).Visible = Command1(0).Visible Xor -1
  Command1(1).Visible = Command1(1).Visible Xor -1
End Sub
 
Weitere Links zum Thema
Cursor in TextBox (Zeile) positionieren
Cursor-Position in TextBox ermitteln
Text bei Fokus markieren

Windows-Version
95
98/SE
ME
NT
2000
XP
Vista
Win 7
VB-Version
VBA 5
VBA 6
VB 4/16
VB 4/32
VB 5
VB 6


Download  (2,2 kB) Downloads bisher: [ 927 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Projekte | Tutorials | API-Referenz | VB-/VBA-Tipps | Komponenten | Bücherecke | VB/VBA-Forum | VB.Net-Forum | DirectX-Forum | Foren-Archiv | DirectX | VB.Net-Tipps | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 28. August 2011