Discussão do artigo "Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid"
Ótimo trabalho, como sempre, Enrico.
Tentei, mas não consegui, colocar dois campos CEdit um a um, sem espaçamento (posicionamento fixo) - mas parece que a classe só posiciona automaticamente pelo estilo de layout.
É possível fazer isso? Por exemplo, quero um nome de campo e o valor como este:
Total Orders: 3
usando dois CEdit's, mas colocando-os um ao lado do outro?
Obrigado pela atenção
Ótimo trabalho, como sempre, Enrico.
Tentei, mas não consegui, colocar dois campos CEdit um a um, sem espaçamento (posicionamento fixo) - mas parece que a classe só posiciona automaticamente pelo estilo de layout.
É possível fazer isso? Por exemplo, quero um nome de campo e o valor como este:
Total Orders: 3
usando dois CEdit's, mas colocando-os um ao lado do outro?
Obrigado, senhor
De nada.
A grade só aceita um único componente por célula. Se quiser colocar mais de um controle em uma determinada célula, deverá aninhá-los dentro de CBox ou CGrid.
Outra opção seria estender o CGrid(tk) ou o CBox para que você possa especificar diretamente quais controles devem usar posicionamento fixo e quais devem seguir estilos de layout.
Ao compilar o "Grid Sample.mq5", recebo o erro:
Acho que a linguagem foi atualizada. Antes era possível chamar a superclasse dessa forma. Mas agora, pelo que vejo, é possível chamar as funções ClientAreaWidth e ClientAreaHeight para instâncias de CDialog e seus herdeiros. O código:
m_main.Create(chart,name+"main",subwin,0,0,ClientAreaWidth(),ClientAreaHeight())
seria a declaração equivalente.

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Usando Layouts e Containers para Controles da Interface Gráfica do Usuário (GUI): A Classe CGrid foi publicado:
Este artigo apresenta um método alternativo de criação da Interface Gráfica do Usuário (GUI) com base em layouts e containers, usando um gerenciador de layout - a classe CGrid. A classe CGrid é um comando auxiliar, atua como um container para outros containers e faz o controle usando um layout de grade.
A classe CGrid é um gerenciador de layout usado no projeto dos controles da Interface Gráfica do Usuário (GUI) para janelas de diálogo no MetaTrader. É uma das classes containers personalizada que pode ser usada na concepção da GUI sem depender de um posicionamento absoluto.
É altamente recomendável ler o artigo sobre a classe CBox, antes de prosseguir com os conceitos discutidos neste artigo.
3. A Classe CGrid
A classe CGrid cria um container para um ou mais controles da GUI e os apresent num arranjo de grade. Um exemplo layout de uma instância da classe CGrid é mostrado na ilustração a seguir:
Figura 1. Layout da classe CGrid
Usar esta classe pode ser conveniente, especialmente se os controles a serem adicionados à rede têm dimensões idênticas, tais como um conjunto de botões ou caixas de edição dentro da área de cliente.
O exemplo acima é uma grade de células 4x4 (4 colunas e 4 linhas). No entanto, o nosso objetivo foi desenvolver uma classe que fosse capaz de acomodar qualquer número de linhas e colunas numa grade.
Autor: Enrico Lambino