Discusión sobre el artículo "Utilización de layouts y contenedores en los controles GUI: la clase CGrid"
Gran trabajo como siempre, Enrico.
He intentado pero no pude hacerlo, para colocar dos campos CEdit uno justo por anoter sin ningún tipo de espaciamiento (posicionamiento fijo) - pero parece que la clase sólo auto posiciones por el estilo de diseño.
¿Se puede hacer? Por ejemplo, quiero un nombre de campo y el valor como este:
Total Pedidos: 3
usando dos CEdit's pero colocandolos uno al lado del otro?
Gracias
Gran trabajo como siempre, Enrico.
He intentado pero no pude hacerlo, para colocar dos campos CEdit uno justo por anoter sin ningún tipo de espaciamiento (posicionamiento fijo) - pero parece que la clase sólo auto posiciones por el estilo de diseño.
¿Se puede hacer? Por ejemplo, quiero un nombre de campo y el valor como este:
Total Pedidos: 3
usando dos CEdit's pero colocandolos uno al lado del otro?
Gracias
De nada.
La rejilla sólo acepta un único componente por celda. Si vas a colocar más de un control en una misma celda, deberías anidarlos dentro de CBox o CGrid.
Otra opción sería extender CGrid(tk) o CBox para que puedas especificar directamente qué controles deben usar posicionamiento fijo, y cuáles deben seguir estilos de diseño.
Al compilar "Grid Sample.mq5" me aparece el error:
Supongo que el lenguaje fue actualizado. Antes era posible llamar a la superclase de esa manera. Pero ahora, según veo, ya es posible llamar a las funciones ClientAreaWidth y ClientAreaHeight para instancias de CDialog y sus herederos. El código:
m_main.Create(chart,name+"main",subwin,0,0,ClientAreaWidth(),ClientAreaHeight())
sería la sentencia equivalente.

- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Utilización de layouts y contenedores en los controles GUI: la clase CGrid:
Este artículo explica un método alternativo de creación de GUIs basado en layouts y contenedores por medio de un gestor de layouts: la clase CGrid. La clase CGrid es un control auxiliar que actúa como contenedor de contenedores y controles, utilizando un diseño de rejilla o cuadrícula (grid layout).
La clase CGrid es el gestor de plantillas (layout manager) que utilizan los controles GUI en las ventanas de diálogo de MetaTrader. Esta clase contenedora personalizada permite diseñar GUIs sin necesidad de recurrir al posicionamiento absoluto.
Recomiendo echar un vistazo al artículo de la clase CBox antes de continuar con los conceptos que examinaremos en este artículo.
3. La clase CGrid
La clase CGrid crea un contenedor para uno o más controles GUI y los dispone en forma de cuadrícula. La siguiente figura muestra un ejemplo de instancia de la clase CGrid:
Figura 1. Plantilla cuadriculada
Esta clase es conveniente, especialmente si los controles a añadir a la cuadrícula tienen las mismas dimensiones; por ejemplo, un conjunto de botones o unos campos de edición dentro del área cliente.
El ejemplo de arriba es una cuadrícula de 4x4 celdas (4 columnas y 4 filas). Sin embargo, nuestro objetivo es desarrollar una clase que pueda albergar cualquier número de filas y columnas.
Autor: Enrico Lambino