Rubrik: Controls · TextBox & RichTextBox | VB-Versionen: VB4, VB5, VB6 | 22.10.03 |
Umlaute während der Texteingabe ersetzen Sollen Umlaute während der Texteingabe autom. in ae, oe, ue usw. ersetzt werden? Dann sollte Ihnen dieser Tipp weiterhelfen. | ||
Autor: Dieter Otter | Bewertung: | Views: 13.486 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sollen Umlaute (äöü, ÄÖÜ) bereits während der Texteingabe entsprechend umgewandelt werden (Ae, Oe, Ue, usw.), lässt sich das wie folgt realisieren:
Private Sub Text1_KeyPress(KeyAscii As Integer) Dim nSelLen As Integer Dim nPos As Integer ' Umlaute Const sCheck As String = "äöüÄÖÜ" Const sChange As String = "aouAOU" With Text1 ' Wurde ein Umlaut eingegeben? nPos = InStr(sCheck, Chr$(KeyAscii)) If nPos > 0 Then ' Ist ein Textbereich markiert? nSelLen = .SelLength ' Eingabe "blocken" und entsprechend ersetzen KeyAscii = 0 .SelText = Mid$(sChange, nPos, 1) + "e" ' Falls kein Textbereich markiert war, ' aktuelle Eingabeposition um 2 nach rechts setzen If nSelLen = 0 Then .SelStart = .SelStart + 2 End If End With End Sub