Discusión sobre el artículo "Interfaces gráficas X: Campo de edición del texto, slider de imágenes y controles simples (build 5)" - página 2

 
maj:

Hola

en los dos últimos artículos no vemos archivos mql4

Sé mt4 no admiten múltiples gráficos y esas cosas

¿pero va a subir una actualización para mql4?

Me refiero a las últimas funciones como la edición de texto y el ratón y CPU peformanc

MT4 versión de la biblioteca ya no se actualizará.
 
Anatoli Kazharski:
La versión MT4 de la biblioteca ya no se actualizará.

Empuje para cambiar a MQL5

 

Tol, innecesario (o algo que falta en lugar de innecesario) en TextEdit.mqh

//+------------------------------------------------------------------+
//|| Crea un grupo de objetos de campo de entrada de texto ||
//+------------------------------------------------------------------+
bool CTextEdit::CreateTextEdit(const long chart_id,const int subwin,const string label_text,const int x,const int y)
  {
//--- Salir si no hay puntero al formulario
   if(!CElement::CheckWindowPointer(::CheckPointer(m_wnd)))
      return(false);
//--- Inicialización de variables
   m_id          =m_wnd.LastId()+1;
   m_chart_id    =chart_id;
   m_subwin      =subwin;
   m_x           =x;
   m_y           =y;
   m_x_size      =(m_x_size<1 || m_auto_xresize_mode)? (m_anchor_right_window_side)? m_wnd.X2()+m_x-m_auto_xresize_right_offset : m_wnd.X2()-m_x-m_auto_xresize_right_offset : m_x_size;
   m_y_size      =m_edit_y_size;
   m_label_text  =label_text;
   m_area_color  =(m_area_color!=clrNONE)? m_area_color : m_wnd.WindowBgColor();
//--- Indents from the end point
   CElement::XGap((m_anchor_right_window_side)? m_x : m_x-m_wnd.X());
   CElement::YGap((m_anchor_bottom_window_side)? m_y : m_y-m_wnd.Y());
//--- Creación de un elemento
   if(!CreateArea())
      return(false);
   if(!CreateIcon())
      return(false);
   if(!CreateLabel())
      return(false);
   if(!CreateEdit())
      return(false);

   if(!CreateEdit())
      return(false);

   Print(__FUNCTION__," > CreateEdit()");
   if(!CreateTextSelectPointer())
      return(false);
//--- Ocultar elemento si la ventana es un cuadro de diálogo o está minimizada
   if(m_wnd.WindowType()==W_DIALOG || m_wnd.IsMinimized())
      Hide();
//---
   return(true);
  }
//+------------------------------------------------------------------+

Y de alguna manera es extraño ser capaz de utilizar una etiqueta de texto para un campo de entrada, pero no ser capaz de establecer su fuente y tamaño. ¿Tal vez estoy buscando en el lugar equivocado? O pista de cómo hacerlo sin entrar en el código, y sin añadir sus propios métodos.

 
Artyom Trishkin:

Tol, innecesario (o algo que falta en lugar de innecesario) en TextEdit.mqh

Y de alguna manera es extraño ser capaz de utilizar una etiqueta de texto para un campo de entrada, pero no ser capaz de establecer su fuente y tamaño. ¿Tal vez estoy buscando en el lugar equivocado? O dime cómo hacerlo sin entrar en el código, y sin añadir tus propios métodos.

1. Innecesario, por supuesto. Tienes que borrarlo.

2. En la próxima actualización será posible que cada elemento establezca su propia fuente y su tamaño.

Ya estoy trabajando en el próximo artículo. Probablemente lo publicaremos la semana que viene.

 
Anatoli Kazharski:

1. Es redundante. Debería suprimirse.

2. En la próxima actualización será posible que cada elemento establezca su propia fuente y su tamaño.

Ya estoy trabajando en el próximo artículo. Probablemente se publicará la próxima semana.

1. Lo borré hace mucho tiempo - sólo tuve tiempo para preguntar - ¿y si había algo más que debería haber estado allí en lugar del borrado one....

2. Super, pero voy a tener que borrar mis métodos de nuevo ..., pero no importa ... ;)

3. Mirando hacia adelante a la misma.

 
Anatoli Kazharski:

1. Es redundante. Debería suprimirse.

2. En la próxima actualización será posible que cada elemento establezca su propia fuente y su tamaño.

Ya estoy trabajando en el próximo artículo. Probablemente la próxima semana se publicará.

Tol, el texto introducido en el campo de entrada de texto al cambiar el plazo se sustituye de nuevo por "Introduzca aquí su texto". ¿Cómo deshacerse de él?

Esta construcción no funciona (he sustituido su texto por defecto en el constructor de la clase con ""):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
 
Artyom Trishkin:

Tol, el texto introducido en el campo de entrada de texto se sustituye de nuevo por "Introduzca aquí su texto" al cambiar el plazo. ¿Cómo deshacerse de él?

Esta construcción no funciona (reemplacé su texto por defecto en el constructor de la clase por ""):

string field_text=(m_text_edit_new_symbol.GetValue()!="" ? m_text_edit_new_symbol.GetValue() : Symbol());
Sí, por ahora es mejor dejar el texto por defecto en blanco.
 
Yuriy Zaytsev:

Un empujón para cambiar a MQL5

Sí, es mejor escuchar. )

Foro sobre el comercio, los sistemas automatizados de comercio y las pruebas de estrategias de negociación

No se puede descargar MT4

Renat Fatkhullin, 2016.11.30 17:32

Señores, ¿pensaban que nosotros, siendo el mayor distribuidor de la plataforma MT4 (más instalados que cualquier broker), íbamos a seguir haciéndole publicidad?

Pensaban que íbamos a seguir bombeando instalados de MT4 por todo el mundo de forma gratuita y para regocijo de los que se jactan de "por qué voy a dejar MT4"?

Te recomiendo que pienses en el futuro y muevas el desarrollo a Metatrader 5 más rápido.

Los cambios en el ecosistema son mucho más rápidos ahora.


 
Hola, tengo una pregunta. En los lenguajes C existen elementos como TMemo con transferencia automática de texto a una nueva línea y el habitual TEdit, en el que se pueden introducir más de 63 caracteres. ¿Es posible crear análogos de TMemo y TEdit con la ayuda de sus desarrollos? Entiendo que 63 caracteres es una limitación del propio metatrader y no se puede obviar. ¿Es posible usar WINAPI para esto? (lo siento, no sé mucho acerca de la construcción de objetos utilizando herramientas estándar de Windows).
 
Roman Podpora:
Hola, tengo una pregunta. En los lenguajes C existen elementos como TMemo con transferencia automática de texto a una nueva línea y el habitual TEdit, en el que se pueden introducir más de 63 caracteres. ¿Es posible crear análogos de TMemo y TEdit con la ayuda de sus desarrollos? Entiendo que 63 caracteres es una limitación del propio metatrader y no se puede obviar. ¿Es posible usar WINAPI para esto? (lo siento, no sé mucho acerca de la construcción de objetos utilizando las herramientas estándar de Windows).
Hay planes para crear un elemento separado como CTextBox, en el que no hay restricciones y se puede habilitar el modo multilínea, así como barras de desplazamiento vertical y horizontal.