2009-10-05 5 views
1

Моя программа читает текст из ряда приложений, чтобы дети-инвалиды могли его слышать. Для этого у него есть внутренний буфер, где находится текст, и внутреннее представление, где находится курсор.Программно получить количество видимых символов в строке перед курсором в Microsoft Word, используя C++

Итак, если курсор | результат для этой линии будет 21 (или около того) :)

Теперь, чтобы получить позицию курсора на строке, я бы сделал Selection.Range.Start, а затем вычтен смещение от начала строки. Однако Selection.Range.Start возвращает позицию курсора со скрытыми символами. Так что если в примере cursor была ссылка на что-то, тогда Word добавит около 45-70 к позиции курсора в тот момент, когда курсор вступил в ссылку cursor. Это не очень хорошо работает для моего приложения, так как теперь он думает, что курсор находится в конце строки.

Итак, есть ли способ получить позицию курсора в слове без подсчета скрытых символов?

+0

Вам нужен код C++ COM или просто алгоритм для определения того, являются ли символы видимыми или нет? –

ответ

0

Вы уверены, что вы выбрали правильный тег? Вы говорите здесь о сценарии Visual Basic, верно?

Может быть, некоторые из макросов на this page могут помочь? Что вы должны выяснить, так это то, как выбрать видимый диапазон.

Смежные вопросы