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 Graphical Interfaces X: Algorithm of word transfer in multiline input field (build 12):
Autor: Anatoli Kazharski
¿Se ha perdido la pregunta? No veo el texto del post. Sólo una cita del primer post del hilo.
Era una muda admiración ;)
No entiendo por qué cuando intento crear un panel con mi propio nombre pero con código sacado de cualquiera de los ejemplos de estos artículos, mi panel no se queda en el gráfico y se borra y en el log pone "2017.04.14 19:37:16.838 MPanele (RUALR,D1) CWndEvents::CheckExpertSubwindowNumber > ¡Borrar la subventana del EA provoca que se borre el EA!". ?
Alexander:
...
En este sentido, ¿podéis decirme qué cambios hay que hacer en los ejemplos anteriores para que funcionen o quizás ya se ha descrito en algún artículo? En concreto, quiero hacer un panel basado en el ejemplo de la carpeta TestLibrary05 del artículo 7. Gracias.
Descarga el ejemplo del archivo. Tiene ejemplos de casi todos los controles de la librería en un panel.
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).
Autor: Anatoli Kazharski