Как получить отступ текста (вкладки) от какого-либо ввода текста? - PullRequest
0 голосов
/ 25 октября 2009

Например, предположим, что я редактирую следующий текст (\ t для вкладок, это не текст) '\ t \ t \ tSome text ...' и моя позиция ввода клавиатуры прямо перед 'S' (нет выделенного текста) и я хочу получить количество вкладок перед 'S' (в данном случае это 3)

Так как получить такое количество вкладок с помощью Win32 API?

p.s. Может быть, какая-нибудь функция, чтобы получить всю текущую строку (а затем проанализировать этот текст)?

редактирование: Поэтому я хочу, чтобы моя программа (которая работает в фоновом режиме и не имела графического интерфейса) определяла количество вкладок из текущей активной строки в любом текстовом редакторе, который активен в данный момент (в котором я редактирую).

Ответы [ 2 ]

1 голос
/ 25 октября 2009

Для некоторых приложений, таких как стандартный блокнот Windows, это может быть возможно из другого приложения. Сам блокнот немного больше, чем большой элемент управления "Win32" внутри изменяемого размера окна, поэтому все обычные сообщения управления Win32 Edit можно использовать для получения реального текста и позиции каретки и т. Д.

Однако в общем случае любого текстового редактора Windows приложениям не требуется использовать элемент управления Win32 Edit для своих нужд по редактированию текста (и на самом деле это было бы просто изобретением Блокнота). Не существует стандартного метода Win32 API, чтобы выяснить, куда указывает курсор, потому что приложение может свободно рисовать текст на экране любым удобным для него способом (и будет хранить этот текст внутри приложения без соответствующего API-интерфейса для вас). звоните).

0 голосов
/ 25 октября 2009

Лучшая практика Java-кодирования - сделать вашу платформу операционной системы независимой, насколько это возможно. Если вы пытаетесь реализовать утилиту, которая по своей природе специфична для Windows (например, сильно зависит от Win32 API), лучше использовать C ++ или C #, а не Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...