Bibliotecas: EasyAndFastGUI - biblioteca para criar interfaces gráficas do usuário - página 4

 
IuriiPrugov:

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Discussão do artigo "Consultor especialista em negociação com interface gráfica: preenchendo com funcionalidade (Parte II)"

Anatoli Kazharski, 2018.05.19 08:47

Talvez um dia isso aconteça.

Não é necessário estudar todos os artigos para aprender a usar a biblioteca.

Comece com os exemplos apresentados nestes artigos:

Se quiser uma ajuda detalhada, você pode tentar iniciar o processo de criação por meio do serviço Freelance. É possível que alguém assuma esse trabalho.


 

Há uma janela e abas nela. Se houver muitas guias, elas sairão da janela. Como encaixar as guias dentro da janela e que, quando o tamanho da janela mudar, elas sejam reorganizadas de acordo com a largura da janela?


void CTabs::ChangeWidthByRightWindowSide(void)
Para que serve esse método? Ele é privado. Onde ele é usado?
 
Juer:

Há uma janela e abas nela. Se houver muitas guias, elas sairão da janela. Como encaixar as guias dentro da janela e que, quando o tamanho da janela mudar, elas sejam reorganizadas de acordo com a largura da janela?

...

Ainda não tenho esse recurso.

P.S. No seu caso, você pode diminuir a largura das próprias guias.

 
Anatoli Kazharski:

Ainda não há essa oportunidade.

P.S. No seu caso, você pode diminuir a largura das próprias guias.

Obrigado.

E no elemento CTextEdit, como resolver esse problema?

era assim

ficou assim.

Depois de pressionar Backspace no campo de entrada.

 
Juer:

E no elemento CTextEdit, como corrigir esse erro:

Dê uma olhada no exemplo deste artigo e faça exatamente o mesmo: Trading Expert Advisor with GUI: Filling with functionality (Part II)

 

Quando clico em um campo de caixa de combinação, todos os itens de texto no formulário que tinham a propriedade IsAvailable falsa ficam disponíveis e precisam ser bloqueados novamente. Esse é o modo como foi projetado ou é um bug?

Além disso, ao alterar os valores dos campos de formulário em um gráfico, os valores dos campos no outro gráfico são alterados. Como posso me livrar disso?

 
Alexey Lifatov:

Quando clico em um campo de caixa de combinação, todos os itens de texto no formulário que tinham a propriedade IsAvailable falsa ficam disponíveis e precisam ser bloqueados novamente. Esse é o modo como foi projetado ou é um bug?

Além disso, ao alterar os valores dos campos de formulário em um gráfico, os valores dos campos no outro gráfico são alterados. Como posso me livrar disso?

Preciso de um pequeno exemplo para reprodução.

 
Anatoli Kazharski:

Preciso de um breve exemplo para reproduzir.

Breve exemplo. Na guia "parâmetros", após clicar ou selecionar um valor na caixa de combinação, os campos inacessíveis se tornam disponíveis.

Se você executar o exemplo em dois gráficos, fechar e abrir o terminal e alterar os valores em um formulário, os valores correspondentes no outro formulário também serão alterados ao passar o mouse.

Arquivos anexados:
Program.mqh  10 kb
MainWindow.mqh  22 kb
 
Anatoli Kazharski:

Preciso de um exemplo rápido para reproduzir.

Peguei um exemplo do artigo"Interfaces gráficas XI: Controles desenhados (14.2)". Se você colocar um painel em dois gráficos e recarregar o terminal sem excluí-lo, clicar e apontar para os elementos de um formulário altera os elementos do segundo formulário. Por exemplo, selecionar guias, passar o mouse sobre o botão de fechamento do formulário, passar o mouse sobre o botão de ícone 2, dividir o botão 1, selecionar o valor da caixa de combinação 1 etc. Ao mesmo tempo, notei que esse comportamento não varia de tempos em tempos e pode mudar ao recarregar o terminal. Às vezes, tudo funciona normalmente e, às vezes, há uma duplicação!

 
Alexey Lifatov:

Se você executar o exemplo em dois gráficos, fechar e abrir o terminal e alterar os valores em um formulário, os valores correspondentes no outro formulário também serão alterados ao passar o mouse.

Esse é um dos novos bugs.

A solução temporária é compilar sem otimização de código: