Estoy implementando un editor de texto en C++ simplemente usando la API Win32 vainilla y estoy tratando de encontrar la mejor manera de implementar el resaltado de sintaxis. Sé que existen controles existentes como el scintilla, pero lo hago por diversión, así que quiero hacer la mayor parte del trabajo yo mismo. También quiero que sea rápido y ligero.¿Cuál es la forma más rápida de dibujar texto formateado en la API de Win32?
Según lo que he aprendido hasta ahora, parece que la opción de bajo nivel para dibujar texto en GDI es la función TextOut
. Sin embargo, si necesito seguir cambiando el color de la fuente, entonces tendré que hacer muchas llamadas al TextOut
para dibujar un cuerpo de texto con formato mixto. ¿Esto es ineficiente? Cuando se implementan el resaltado de sintaxis y los controles de texto enriquecido, ¿es probable que usen TextOut
detrás de escena o hay alguna otra manera? ¿Cada otro método de dibujar texto en GDI es solo un envoltorio de mayor nivel alrededor del TextOut
?
Conseguirlo correctamente ya es un desafío. [Mostrar texto con Uniscribe] (http://msdn.microsoft.com/en-us/library/dd317792.aspx) es una buena introducción a los problemas que deberá resolver. – MSalters