Pregunta

Por ejemplo, supongamos que estoy editando el siguiente texto (\ t es para pestañas, no es texto) '\ t \ t \ tAlgún texto ...' y la posición de mi teclado de entrada está justo antes de 'S' (no hay texto seleccionado) y quiero obtener el número de pestañas antes de 'S' (en este caso es 3)

Entonces, ¿cómo obtener esa cantidad de pestañas utilizando la API de Win32?

p.s. ¿Quizás alguna función para obtener la línea actual completa (y luego analizar ese texto)?

editar: Así que quiero que mi programa (que se ejecuta en segundo plano y no tiene una GUI) determine la cantidad de pestañas de la línea activa actual en cualquier editor de texto que esté activo actualmente (que estoy editando).

¿Fue útil?

Solución

Para algunas aplicaciones, como el Bloc de notas estándar de Windows, puede ser posible hacerlo desde otra aplicación. El Bloc de notas en sí es poco más que grande Win32 " Edit " control dentro de una ventana que se puede cambiar de tamaño, por lo que todos los mensajes de control de Win32 Edit normales se pueden usar para obtener el texto real y la posición de intercalación, etc.

Sin embargo, en el caso general de cualquier editor de texto de Windows, no hay ningún requisito para que las aplicaciones usen un control de Edición de Win32 para sus necesidades de edición de texto (y, de hecho, hacerlo sería simplemente reinventar el Bloc de notas). No existe un método estándar de la API de Win32 para averiguar dónde apunta el cursor, porque la aplicación es libre de dibujar texto en la pantalla de la forma que lo considere conveniente (y almacenará ese texto internamente dentro de la aplicación sin la API correspondiente para que pueda llamada).

Otros consejos

La mejor práctica de codificación de Java es hacer que la plataforma de su sistema operativo de código sea lo más independiente posible. Si está intentando implementar una utilidad que es intrínsecamente específica de Windows (por ejemplo, que depende mucho de las API de Win32), sería mejor utilizar C ++ o C # en lugar de Java.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top