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