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)"
MetaQuotes Software Corp.:
Artículo publicado Graphical Interfaces X: Algorithm of word transfer in multiline input field (build 12):
Autor: Anatoli Kazharski
Yuriy Zaytsev:
¿Se ha perdido la pregunta? No veo el texto del post. Sólo una cita del primer mensaje del hilo.
Anatoli Kazharski:
¿Se ha perdido la pregunta? No veo el texto del post. Sólo una cita del primer post del hilo.
Era muda admiración ;)
¿Se ha perdido la pregunta? No veo el texto del post. Sólo una cita del primer post del hilo.
Andrey Khatimlianskii:
Era una muda admiración ;)
Queda por implementar la selección de texto y campo de entrada casi de pleno derecho estará listo. Entonces voy a reemplazar los campos de entrada en varios elementos de la biblioteca con esta variante.
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:
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!". ?
Intenta borrar todos los archivos de la librería y descarga la última versión desde este artículo.
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!". ?
Sí, y con la nueva biblioteca de este artículo todo funciona también en subcarpetas.
Cuando instalé la última compilación de la biblioteca de este artículo, todos los ejemplos anteriores desde Artículo 01 a Artículo 10 (de 1 a 5 TestLibrary) dejaron de compilar. A partir de TestLibrary06 en la carpeta Article 10 todos compilan normalmente sin errores. Entiendo que esto es debido al rediseño de la librería. En este sentido, ¿podéis decirme qué cambios tengo 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 Artículo 7 TestLibrary05. Gracias.
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.
Archivos adjuntos:
TestLibrary01.zip
16 kb

Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
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