Discusión sobre el artículo "Interfaces gráficas X: Selección del texto en el campo de edición multilínea (build 13)" - página 14

 
Konstantin:

En el método de la clase CTabs:

se debe añadir resaltado, es una comprobación de matriz nula, porque sin esta comprobación, en caso de ausencia de pestañas, todo el formulario se bloquea con un error.

No está claro cómo se creó un elemento de tipo CTabs si hay una comprobación en el método de creación de pestañas:

...
//--- Si no hay pestañas en el grupo, repórtalo
   if(TabsTotal()<1)
     {
      ::Print(__FUNCTION__,"> Este método debe ser llamado, "
              "¡cuando hay al menos una pestaña en el grupo! Utilice el método CTabs::AddTab()");
      return(false);
     }
...

 
Anatoli Kazharski:

No entiendo como creaste un elemento de tipo CTabs, si hay un check en el método de creación de pestañas:

Se ha creado sin problemas, no he toqueteado fuentes de clases salvo la resaltada, he usado clases sin overriding, es decir no he dado funcionalidad adicional, todo funciona en dinámica, se añaden y quitan pestañas cuando aumenta o disminuye el número de pestañas.

a veces sale el mensaje de arriba cuando el numero de pestañas == 0, pero todo funciona sin problemas.

pero si no se añade la seleccionada, entonces por ejemplo, al cambiar el tamaño del formulario principal, el robot se bloquea con un error.
 
Konstantin:

Se ha creado sin problemas, no he toqueteado fuentes de clases excepto la resaltada, he usado clases sin overriding, es decir, no he dado funcionalidad adicional, todo funciona en dinámica, se añaden y quitan pestañas cuando aumenta y disminuye el valor del número de pestañas

a veces sale el mensaje de arriba cuando el numero de pestañas == 0, pero todo funciona sin problemas.

pero si no se añade la seleccionada, por ejemplo, al redimensionar el formulario principal, el robot se bloquea con un error.

Ok, lo miraré en detalle cuando se publique la próxima versión. Habrá cambios significativos que permitirán desarrollar la librería aún más rápido y fácil.
 
Anatoli Kazharski:

Ok, miraré en detalle después de que se publique la próxima versión. Habrá cambios significativos que permitirán desarrollar la biblioteca aún más rápido y más fácil.

Espero que la estructura de la biblioteca no cambie?

¿Realizarán todos los cambios sobre los que se ha escrito más arriba?

Hay un punto que no me gusta, la libreria esta atada al catalogo con dibujos, seria mejor poner este catalogo dentro del catalogo de la libreria, entonces se podria poner en cualquier sitio, por ejemplo, trabajando con git tienes que cambiar todo en al menos dos sitios.

 
Konstantin:

1. ¿Espero que no se cambie la estructura de la biblioteca?

2. ¿harán todos los cambios que se escribieron arriba?

3. Hay un punto que no me gusta, la libreria esta atada al catalogo con imagenes, seria mejor poner este catalogo dentro del catalogo de la libreria, entonces se podria poner en cualquier sitio, por ejemplo, trabajando con git hay que cambiar todo en al menos dos sitios.

1. Creo que para el usuario de la biblioteca no será perceptible. Todos los cambios y adiciones se describirán en detalle en el artículo.

2. Algunos. No todos a la vez.

3. Para los controles que creo que se podrían mover. Los personalizados, por supuesto, también se quedarán ahí.

 

¿Pueden decirme cómo implementar el trabajo con objetos de la clase CStandardChart en la compresión del gráfico mediante el ratón, utilizando la escala de precios, es decir, verticalmente como en un gráfico normal del terminal?

Por lo que tengo entendido, no hay implementación de estos eventos de ratón en la librería y tienes que implementarlos tú. En cualquier caso, nunca he hecho esto antes, así que estoy esperando pistas )).
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
Использование аналитических объектов - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Определение трендов, построение каналов, выявление циклов и уровней поддержки/сопротивления — все эти и многие другие задачи решаются при помощи...
 
Konstantin:

¿Pueden decirme cómo implementar el trabajo con objetos de la clase CStandardChart en la compresión del gráfico mediante el ratón, utilizando la escala de precios, es decir, verticalmente como en un gráfico normal del terminal?

Por lo que tengo entendido, no hay implementación de estos eventos de ratón en la librería y hay que implementarlos uno mismo. En cualquier caso, nunca he hecho esto antes, así que espero pistas )).

No lo he probado de esta manera, así que no puedo darte una pista.

Sólo puedo sugerir esta variante:

Los clics sobre objetos gráficos generan un evento con el identificador ON_CLICK_SUB_CHART. El parámetro de cadena(sparam) contiene el nombre del personaje del objeto gráfico. Acepte el mensaje con este identificador en el manejador de eventos de la clase de usuario, establezca el símbolo del mensaje en la ventana del gráfico y utilice su funcionalidad lista.

 
Anatoli Kazharski:

No lo he probado así, por lo que no puedo aconsejarte.

Sólo puedo sugerir esta variante:

Los clics sobre objetos gráficos generan un evento con el identificador ON_CLICK_SUB_CHART. El parámetro cadena(sparam) contiene el nombre del personaje del objeto gráfico. Acepta el mensaje con este identificador en el manejador de eventos de la clase de usuario, establece el símbolo del mensaje en la ventana del gráfico y utiliza su funcionalidad listo.

no funcionará en objetos OBJ_CHART ((

Cuando se aplican operaciones con gráficos para el objeto Chart (OBJ_CHART ), se aplican las siguientes restricciones:

  • no se puede cerrar con ChartClose();
  • no se puede cambiar el símbolo/periodo utilizando la función ChartSetSymbolPeriod();
  • las propiedades CHART_SCALE, CHART_BRING_TO_TOP, CHART_SHOW_DATE_SCALE y CHART_SHOW_PRICE_SCALE (ENUM_CHART_PROPERTY_INTEGER) no funcionan.
 
Konstantin:

no será posible realizarlo en objetos OBJ_CHART ((

Así que la variante que he sugerido es relevante. )
 
Anatoli Kazharski:
Así que la opción que he sugerido es pertinente. )

no es relevante, pero no es factible, esta funcionalidad no está habilitada para estos objetos por los desarrolladores de MQ.