Как определить положение курсора текста в Windows - PullRequest
7 голосов
/ 23 февраля 2011

Каков наилучший способ определения координат экрана текущего активного курсора ввода текста?

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

1 Ответ

8 голосов
/ 23 февраля 2011

Сначала присоедините вход потока к активному приложению (AttachThreadInput). Затем получите позицию каретки с помощью GetCaretPos. Позиция указана в клиентских координатах, вызовите GetFocus, чтобы получить указатель на окно, в котором находится курсор, затем преобразуйте координаты в экранные координаты с помощью ClientToScreen. Наконец, отсоедините вход потока, вызвав снова AttachThreadInput.

...