Как получить координаты текстового курсора в NET настольном приложении? - PullRequest
0 голосов
/ 05 мая 2020

Я создаю сценарии расширения для настольного продукта стороннего производителя, который предоставляет для этого API. Я думаю, что ядро ​​продукта было написано на C ++, возможно, на Microsoft Foundation Classes или, возможно, на SDK Windows в конце 80-х или начале 90-х годов. В любом случае, я пишу расширения. NET и включают проверки текстовых полей, в которые пользователь вводит данные. Я хотел бы иметь возможность отображать всплывающие подсказки, чтобы помочь пользователю выполнить ввод данных в правильном формате, но API не дает мне доступа к элементу управления текстовым полем (AKA Edit) или его дескриптору, поэтому я могу разместить всплывающую подсказку рядом с текущее текстовое поле.

Я провел исследование с помощью инструмента Spy ++, и в пользовательском интерфейсе есть много панелей инструментов и дескрипторов окон, кроме того, имена текстовых полей не прямолинейны, приложение использует случайные числа для генерировать имена элементов управления Edit, b / c они настраиваются (мной), но имя, которое я назначаю полям, не является именем элемента управления Edit, так что получить координаты текущего выбранного / сфокусированный элемент управления Edit.

Я ищу способ получить координаты текстового курсора / луча, чтобы знать, где отображать всплывающую подсказку. API предоставляет мне событие «Pre», которое срабатывает, когда текстовое поле получает фокус. Если бы я мог получить координаты текстового курсора / луча, я бы использовал их для размещения всплывающей подсказки. Поиски, которые я проделал до сих пор, касаются только "курсора мыши" и ничего не говорят о тексте / вводе курсора / луче. , или другие идеи о том, как разместить всплывающие подсказки рядом с текстовыми полями, я буду очень признателен за ваш совет.

TIA

С уважением,

Ричард

...