Librerías: EasyAndFastGUI - librería para crear interfaces gráficas - página 16

 
Alexander Fedosov:

Recompilada la biblioteca, dice que la clase no se encuentra

la clase 'CWindow' no está definida Element.mqh

Compilar proyectos desde el fichero principal del programa (*.mq5).

 


¿Podríais decirme cómo se arregla que los paneles aparezcan desordenados a DPI altos?

 
Una librería muy buena, con la que se puede crear una tabla que muestre los datos del mercado en el evento ontick u ontime utilizando lógica hecha por los usuarios basada en el análisis de los datos. En mi ejemplo, lo único que falta es la posibilidad de incluir un objeto de edición que permita introducir el número de órdenes que se quieren ejecutar en el mercado.Visualización de datos de mercado en una tabla
 
¿Puedes decirme, plz, cómo puedo hacer la alineación en el borde derecho en el campo de entrada de TextEdit? En versiones anteriores en SpinEdit había una posibilidad de alineación, pero en TextEdit no hay tal posibilidad.
 
lovaK:
¿Puedes decirme, plz, cómo puedo hacer la alineación en el borde derecho en el campo de entrada de TextEdit? En versiones anteriores en SpinEdit existía la posibilidad de alineación, pero en TextEdit no existe tal posibilidad.

Cualquier texto que se dibuje con el método CElement::DrawText(void), sólo tiene izquierda o centro.

Es necesario añadirlo uno mismo. Algo como esto

   if(m_is_center_text)
     {
      x =m_x_size>>1;
      y =m_y_size>>1;
      m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER);
     }
   else
     {
      switch(m_text_align)
        {
         case 0: m_canvas.TextOut(x+m_hor_space,         y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_LEFT|TA_TOP);       break;  // AT_LEFT_TOP
         case 1: m_canvas.TextOut((int)round(m_x_size/2),y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_CENTER|TA_TOP);     break;  // AT_CENTER_TOP
         case 2: m_canvas.TextOut(m_x_size-m_hor_space,  y+m_ver_space,         m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_TOP);      break;  // AT_RIGHT_TOP
         case 3: m_canvas.TextOut(x+m_hor_space,         (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_LEFT|TA_VCENTER);   break;  // AT_LEFT_CENTER
         case 4: m_canvas.TextOut(m_x_size>>1,           m_y_size>>1,           m_label_text,::ColorToARGB(clr),TA_CENTER|TA_VCENTER); break;  // AT_CENTER_CENTER
         case 5: m_canvas.TextOut(m_x_size-m_hor_space,  (int)round(m_y_size/2),m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_VCENTER);  break;  // EN_CENTRO_DERECHA
         case 6: m_canvas.TextOut(x+m_hor_space,         m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_LEFT|TA_BOTTOM);    break;  // AT_LEFT_BOTTOM
         case 7: m_canvas.TextOut((int)round(m_x_size/2),m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_CENTER|TA_BOTTOM);  break;  // AT_CENTER_BOTTOM
         case 8: m_canvas.TextOut(m_x_size-m_hor_space,  m_y_size-m_ver_space,  m_label_text,::ColorToARGB(clr),TA_RIGHT|TA_BOTTOM);   break;  // AT_RIGHT_BOTTOM
         default: m_canvas.TextOut(x,y,m_label_text,::ColorToARGB(clr),TA_LEFT); break;
        }
     }
 
Oleksii Chepurnyi:

Tienes que escribirlo tú mismo. Algo así:

Gracias, vi este código tuyo en la página 7 y lo cogí en su momento. El problema es que con su adición texto perfectamente alineados, por ejemplo, en el campo combo-box, pero en el campo de entrada TextEdit texto no está alineado por este método, y permanece alineado en el borde izquierdo.
 
lovaK:
Gracias, vi este código en la página 7 y lo cogí en su momento. El problema es que con tu complemento el texto se alinea bien, por ejemplo, en el campo del cuadro combinado, pero en el campo de entrada TextEdit el texto no se alinea con este método, se queda alineado al borde izquierdo.

Sí, TextEdit no tenía que alinear :)

El texto en sí dibuja TextBox (m_edit), se debe girar. Hay su propio método de dibujo de texto y, por lo que yo entiendo, el texto se dibuja asymbolically.

Lo primero que se me ocurre es cambiar la coordenada x en CTextBox::TextOut(void) :)

 

Se ha publicado una nueva versión de la biblioteca.

Puedes leer más sobre lo que se ha añadido en este artículo: ZigZag is all in the head (Part II). Ejemplos de adquisición, procesamiento y visualización de datos

Consulte la sección Asesor Experto para recopilar y mostrar estadísticas

 

Sigo preguntándome qué falta. Y estas son las plantillas :) ¡Super!

Echando un vistazo, tengo una pregunta: ¿por qué no podemos deshacernos de window_index en los parámetros? Tenemos un puntero al elemento principal, digamos índice de la ventana :)

 
Oleksii Chepurnyi:

...

Eché un vistazo, hay una pregunta: ¿por qué no podemos deshacernos de window_index en los parámetros? Quiero decir, tenemos un puntero al elemento principal, digamos índice de la ventana :)

No recuerdo por qué. Deberíamos intentarlo de nuevo.