Re: перемещение каретки (RichEdit, TOM)
От: AlexZu Россия  
Дата: 20.10.06 12:39
Оценка: 3 (1)
Здравствуйте, romanian, Вы писали:

R>был вопрос по использованию TOM

R>добрый человек AlexZu ( ) помог


R>платформа WinApi

R>в общем пользуя мсдн всё получилось
R>спасибо за пункт 2) — сам бы не додумался.. (может ещё есть какой то хитрый способ получить Range в который бы входило только слово на котором стоит каретка?)

Вам нужно только слово, а кому-то нужно предложение, и т.д. Для все этогоу ITextRange есть методы Move[Start, End], Expand, позволяющие расширить диапазон как вам угодно в соотв. с переданными параметрами.
Еще раз, более детально:
Как вы уже знаете у ITextDocument есть св-во ITextSelection, которое представляет диапазон (range) выделенного текста. Когда этот диапазон вырожденный (Start==End), т.е. нет выделения, он и представляет собой позицию каретки. Если же есть выделенный текст, то позиция каретки совпадает или с началом, или с концом выделения, в зависимости от того как текст был выделен пользователем.

Ну а имея необходимую позицю нетрудно получить и слово, в которую она попадает, см. пункт 3).

R>вопрос по ходу возник такой, при использовании TOM у меня возникают проблемы с перемещением каретки — я ввожу текст, а каретка перезжает не вперёд как обчно, а назад (или же стоит на месте, а текст уезжзает вперёд), это можно как то исправить? может я чтото делаю не так..

R>вот приблизительно код
<skipped>

В этомт коде вы изменяете только атрибуты текста, вполне ессно, что каретка остается на месте.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.