Моя программа читает текст из ряда приложений, чтобы дети-инвалиды могли его слышать. Для этого у него есть внутренний буфер, где находится текст, и внутреннее представление, где находится курсор.Программно получить количество видимых символов в строке перед курсором в Microsoft Word, используя C++
Итак, если курсор | результат для этой линии будет 21 (или около того) :)
Теперь, чтобы получить позицию курсора на строке, я бы сделал Selection.Range.Start
, а затем вычтен смещение от начала строки. Однако Selection.Range.Start
возвращает позицию курсора со скрытыми символами. Так что если в примере cursor
была ссылка на что-то, тогда Word добавит около 45-70 к позиции курсора в тот момент, когда курсор вступил в ссылку cursor
. Это не очень хорошо работает для моего приложения, так как теперь он думает, что курсор находится в конце строки.
Итак, есть ли способ получить позицию курсора в слове без подсчета скрытых символов?
Вам нужен код C++ COM или просто алгоритм для определения того, являются ли символы видимыми или нет? –