2011-02-23 33 views
5

¿Cuál es la mejor manera de determinar las coordenadas de pantalla del cursor de entrada de texto activo actualmente?Cómo determinar la posición del cursor de texto en Windows

Necesito esto para un programa de transliteración en línea para que pueda mostrar algunas opciones de sugerencias para el usuario a medida que se ingresa el texto.

+0

¿Qué es el cursor? ¿Un RichEdit? Un cuadro de edición? ¿Un winform? – selbie

Respuesta

6

Primero conecte la entrada de hilo a la aplicación activa (AttachThreadInput). A continuación, obtenga la posición del cursor con GetCaretPos. La posición está en las coordenadas del cliente, llame al GetFocus para tener el asa de la ventana que tiene el símbolo de intercalación, luego convierta las coordenadas a coordenadas de pantalla con ClientToScreen. Finalmente separe la entrada del hilo volviendo a llamar al AttachThreadInput.

+0

No funcionará si la aplicación no utiliza Windows caret y tiene su propio símbolo de intercalación. – Megamozg

Cuestiones relacionadas