Discusión sobre el artículo "Interfaces gráficas X: Ordenamiento, reconstrucción de la tabla y controles en las celdas (build 11)" - página 4
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
1. Cuando termine de crear una interfaz gráfica para su MQL-aplicación en desarrollo, al llenarlo con alguna funcionalidad de comercio, puede que tenga que inicializar los valores del programa cuando se carga/recarga. Esto es sólo un ejemplo aquí, ya que se supone que funciona desde y hacia la clase CProgram personalizado. Mostraré algunos ejemplos más sustanciales más adelante cuando termine de desarrollar la librería. La segunda etapa estará terminada pronto y será posible presentar ejemplos reales de aplicaciones MQL usando esta librería.
2. El formulario también debe tener propiedades de estiramiento similares establecidas.
3. Sí, obligatorio.
//---
P.D. De momento la última versión de la librería está en este artículo: GUIs X: Text selection in a multi-line input field (build 13).
gracias, por cierto me he dado cuenta de un error de desbordamiento de array, si seleccionas la última línea en el ejemplo 11_01 y borras por ejemplo la primera línea, y vuelves a seleccionar la última línea, obtienes:
2017.04.19 20:27:52.564 TestLibrary11_01 (RUAL,H1) array out of range in 'CanvasTable.mqh' (1897,19)
Una pregunta más, ¿qué método se utiliza para cambiar el paso de pulsación en los deslizadores de desplazamiento, porque el paso por defecto es demasiado pequeño?
1. gracias, por cierto, me he dado cuenta de un error de desbordamiento de array, si en el ejemplo 11_01 seleccionamos la última línea y borramos por ejemplo la primera línea, y volvemos a seleccionar la última línea, obtenemos: 2017.04.19 20:27:52.564 TestLibrary11_01 (RUAL,H1) array out of range in 'CanvasTable.mqh' (1897,19)
2. Otra pregunta, ¿qué método se utiliza para cambiar el paso de pulsación en los deslizadores de desplazamiento, porque el paso por defecto es demasiado pequeño?
1. Lo comprobaré y arreglaré para la próxima actualización.
2. Aún no está implementado. Lo haré.
Si sólo se requiere la funcionalidad de tabla y la vinculación al formulario CWindow es obligatoria, ¿es posible no activar
1. controles de menú
2. Botón para borrar el formulario
3. ¿Cómo actualizar los valores de las celdas en la tabla? (pregunta eliminada, vi el parámetro redraw en el método SetValue) :))
4. No del todo claro método SetValue(const uint column_index,const uint row_index,const string value="",const uint digits=0,const bool redraw=false), ¿por qué la división en tipo cadena de datos almacenados y reales? En mi opinión es mejor almacenar cadena en la tabla. Pero si es tan necesario, es mejor crear dos métodos tácticamente.
No pude entender sobre el uso de OnInitEvent método, voy a esperar a que los ejemplos.
Si sólo se requiere la funcionalidad de tabla y la vinculación al formulario CWindow es obligatoria, ¿es posible no activar
1. controles de menú
2. Botón para borrar el formulario
3. ¿Cómo actualizar los valores de las celdas de la tabla?
Sobre el uso del método OnInitEvent no he podido entender, esperaré ejemplos.
1. En la clase de usuario de la aplicación MQL CProgram usted mismo construye la interfaz gráfica. Por lo tanto, si usted no necesita el menú principal, simplemente no crear estos elementos en esta clase.
2. Este es un botón obligatorio en el formulario. No puede eliminar accidentalmente la aplicación del gráfico haciendo clic en él, porque aparecerá una ventana para confirmar esta acción.
3. Ver el ejemplo en este artículo: Interfaces Gráficas X: Actualizaciones de la tabla dibujada y optimización del código (build 10). En resumen, utiliza el método CCanvasTable::SetValue().
1. En la clase de usuario de la aplicación MQL CProgram usted mismo construye la interfaz gráfica. Por lo tanto, si usted no necesita el menú principal, simplemente no crear estos elementos en esta clase.
2. Este es un botón obligatorio en el formulario. No puedes eliminar accidentalmente la aplicación del gráfico haciendo clic en él, porque aparecerá una ventana para confirmar esta acción.
3. Ver el ejemplo en este artículo: Interfaces Gráficas X: Actualizaciones de la tabla dibujada y optimización del código (build 10). En resumen, utiliza el método CCanvasTable::SetValue().
Sobre el punto 2, haz una selección de botones para el formulario, incluso MessageBox tiene conjuntos de botones personalizables. En Qt también es posible cambiar conjuntos de estos botones, en la librería estándar MetaQuotes también son modificables.
...
4. El método SetValue(const uint column_index,const uint row_index,const string value="",const uint digits=0,const bool redraw=false) no está muy claro, ¿por qué la división en tipo cadena de datos almacenados y real? En mi opinión es mejor para almacenar cadena en la tabla. Pero si es tan necesario, es mejor crear dos métodos tácticamente.
Sobre el punto 2, por favor, haga una elección de botones para el formulario, incluso MessageBox tiene conjuntos de botones personalizables. En Qt también es posible cambiar los conjuntos de estos botones, en la librería estándar MetaQuotes también son modificables.
Ahora mismo los botones son
¿Qué más necesitas?
Ahora hay botones:
¿Qué más necesitas?
Estoy hablando de ellos, que este conjunto debe hacerse cambiante, no siempre se necesitan los tres de estos botones ))
No entiendo el tipo de datos. Todas se almacenan como cadena. El tipo de datos se especifica para cada columna utilizando el método DataType() para ordenar. Y el parámetro digits en el método SetValue() permite especificar el número de dígitos después del separador para cada celda por separado.
))) ahora entiendo, por cierto DataType( ) por defecto tiene que tipo? ¿O no existe un estado por defecto y es necesario determinar el tipo del valor almacenado antes de añadirlo a la celda?
PD. Me olvidé de escribir, no siempre se cargan las imágenes de recursos en el menú, aunque puede ser porque estoy sentado en una virtualización.
Estoy hablando de ellos, que este conjunto debe hacerse cambiante, no siempre se necesitan los tres de estos botones ))
2 y 3 ya se pueden dejar fuera. En el método de creación de formularios en la clase de usuario CProgram no llamar a métodos: