Wordpad & EM_SETSEL

02/12/2007 - 13:42 von Juergen Thuemmler | Report spam
Hi *.*

ich kopiere einen Text aus der Zwischenablange ins Wordpad (richedit50w).
Der wird dort automatisch umbrochen. Dann lese ich den Text mit WM_GETTEXT
aus, suche mit Instr() nach einer bestimmten Zeichenfolge und versuche, mit
Call SendMessageByLong(CurHwnd, EM_SETSEL, pos, pos + lds) die gesuchte
Zeichenfolge zu markieren (pos ist Instr() - 1). Das funktioniert im oberen
Textbereich, aber spàtestens nach der ersten (echten) Zeilenschaltung ist
der markierte Bereich nach rechts verschoben. Wenn ich den Text z.B. nach
Ultraedt kopiere und als Hexcode ansehe, kann ich nicht Ungewöhnliches
finden...Gibt es in Richedit-Fenstern "verborgene" Zeichen, die von InStr()
nicht erkannt werden, und wenn ja, mit welchen ASCII-Code?

Jürgen.
 

Lesen sie die antworten

#1 Thorsten Albers
02/12/2007 - 14:20 | Warnen spam
Juergen Thuemmler schrieb im Beitrag
...
ich kopiere einen Text aus der Zwischenablange ins Wordpad (richedit50w).

Der wird dort automatisch umbrochen. Dann lese ich den Text mit


WM_GETTEXT
aus, suche mit Instr() nach einer bestimmten Zeichenfolge und versuche,


mit
Call SendMessageByLong(CurHwnd, EM_SETSEL, pos, pos + lds) die gesuchte
Zeichenfolge zu markieren (pos ist Instr() - 1). Das funktioniert im


oberen
Textbereich, aber spàtestens nach der ersten (echten) Zeilenschaltung ist

der markierte Bereich nach rechts verschoben. Wenn ich den Text z.B. nach

Ultraedt kopiere und als Hexcode ansehe, kann ich nicht Ungewöhnliches
finden...Gibt es in Richedit-Fenstern "verborgene" Zeichen, die von


InStr()
nicht erkannt werden, und wenn ja, mit welchen ASCII-Code?



Das machen Textverarbeitungen so, und die für Interna verwendeten Zeichen
können von Textverarbeitung zu Textverarbeitung verschieden sein.
Üblicherweise werden die beim Auslesen ds Textes nicht mit zurückgegeben,
da sie ja nur für die interne Verwaltung aber nicht Bestandteil des Textes
sind - das wàre ja sonst in die Irre führend.
Du für die Positionsbestimmung z.B. EM_FINDTEXT/EM_FINDTEXTEX verwenden,
denn damit werden alle internen Verwaltungszeichen berücksichtig.

-
THORSTEN ALBERS Universitàt Freiburg
albers@
uni-freiburg.de
-

Ähnliche fragen