Discusión sobre el artículo "Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12)"

 

Artículo publicado Interfaces gráficas X: Algoritmo del traslado de palabras en el campo de edición multilínea (build 12):

Sigamos desarrollando el control «Campo de edición multilínea». Esta vez, nuestra tarea consiste en configurar el traslado automático de palabras a la siguiente línea si no encajan en el campo de edición, o el traslado inverso a la línea anterior si aparece esta posibilidad.

Para determinar el índice del carácter «espacio» por su número, va a usarse el método CTextBox::SymbolIndexBySpaceNumber(). Después de obtener este valor, se puede calcular el ancho de una o varias palabras desde el comienzo de la sublínea, usando el método CTextBox::LineWidth(). 

Para demostrarlo, veamos el ejemplo con el texto en una línea. Los caracteres (azul), sublíneas (verde) y espacios (rojo) están indexados. Se puede observar que, por ejemplo, el primer espacio (0) en la primera línea (0) tiene el índice 6.

 Fig. 3. Indices de los caracteres (azul), sublíneas (verde) y espacios (rojo).

Fig. 3. Indices de los caracteres (azul), sublíneas (verde) y espacios (rojo).

Autor: Anatoli Kazharski