Здравствуйте, 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>
В этомт коде вы изменяете только
атрибуты текста, вполне ессно, что каретка остается на месте.