Cursor-Positon in Textbox ermitteln mit Zeilenumbrüchen
05.04.2025 03:47:36
Mr.PT
ich versuche mein Anliegen so kurz wie möglich zu beschreiben:
In einer Standard TextBox (MultiLine = True) stehen diese Zeilen:
1AAA (dazwischen vbCrLf Zeilenumbrüche)
2BBB (vbCrLf)
3CCC (vbCrLf)
4DDD (vbCrLf)
Wenn ich mit TextBox1.SelStart die aktuelle Cursor-Position ermitteln möchte, funktioniert das nur bis zum Ende der ersten Zeile. Bereits ab der zweiten Zeile stimmt die Position mit '5' schon nicht mehr, da der Zeilenumbruch vbCrLf (bestehend aus zwei Zeichen ASCII(13) und ASCII(10) offenbar nicht mitgezählt wird. Eigentlich hätte ich ganz links in Zeile2 die Position '7' erwartet.
Diese verkürzte Positionsberechnung zieht sich dann durch den gesamten Text und verschiebt sich bei jedem Zeilenumbruch erneut um 1.
Finales Ziel ist es, zu jeder Cursor-Position, den Anfang und das Ende der aktuellen Zeile zu ermitteln, um diese dann komplett auszulesen. Ohne die tatsächliche Cursor-Position gelingt das jedoch nicht.
Weiß jemand, wie man die korrekte Cursor-Position (inclusive Zeilenumbrüche) ermitteln kann?
Vielen Dank im Voraus
Mr.PT
Anzeige