Discussão do artigo "Interfaces Gráficas III: Botões Simples e Multifuncionais (Capítulo 1)" - página 3

 
Boa tarde, espero que você possa me ajudar.

Quero fazer com que um botão de dois estados se mova depois de clicar nele. O método está escrito, mas não funciona.

Posso ver nos logs que a função é chamada, mas a posição do botão não muda

void CVisButBoard::ChangeButtonPosition(CButtHedge &_button, const int _ShiftX, const int _ShiftY)
  {
      _button.Moving(_ShiftX,_ShiftY);
  
  }


class CSimpleButton : public CElement
  

void CSimpleButton::Moving(const int x,const int y)
  {
//--- Sair se o item estiver oculto
   if(!CElement::IsVisible())
      return;
      
  Print("Budem Dvigat? X?",x);    
//--- Salvando coordenadas em campos de elementos
   CElement::X(x+XGap());
   CElement::Y(y+YGap());
//--- Salvando coordenadas em campos de objetos
   m_button.X(x+m_button.XGap());
   m_button.Y(y+m_button.YGap());
//--- Atualização das coordenadas dos objetos gráficos
   m_button.X_Distance(m_button.X());
   m_button.Y_Distance(m_button.Y());
  }
//+---
 

Boa tarde!

Muito obrigado ao autor pelos artigos, que são muito informativos e interessantes. Mas ainda não li todos eles e tenho uma pergunta: é possível fazer com que os botões não sejam "transparentes", ou seja, não é possível rolar a tela para ver o gráfico com o preço? Acontece que, se o cursor se deslocar um pouco ao pressionar o botão, o botão não é pressionado porque o gráfico de preços é capturado. Agradeço antecipadamente por qualquer ajuda.

 
Ruslan Piraliyev #:

Boa tarde!

Muito obrigado ao autor pelos artigos, que são muito informativos e interessantes. Mas ainda não li todos eles e tenho uma pergunta: é possível fazer com que os botões não sejam "transparentes", ou seja, não é possível rolar a tela para ver o gráfico com o preço? Acontece que, se o cursor se deslocar um pouco ao pressionar o botão, o botão não é pressionado porque o gráfico de preços é capturado. Agradeço antecipadamente por qualquer ajuda.

Se quiser apenas usar a biblioteca em seus projetos, não é necessário ler todos os artigos.

É melhor obter a versão mais recente da biblioteca aqui: https: //www.mql5.com/ru/code/19703.

E veja exemplos com interfaces gráficas nos artigos mais recentes:

EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

Se você quiser apenas usar a biblioteca em seus projetos, não precisará necessariamente ler todos os artigos.

É melhor obter a versão mais recente da biblioteca aqui: https: //www.mql5.com/ru/code/19703

E ver exemplos com interfaces gráficas nos artigos mais recentes:

Obrigado pelos links, vou dar uma olhada neles, se possível. E quanto à minha pergunta sobre a "transparência" dos objetos gráficos pelos quais o gráfico de preços rola? É possível fazer com que os objetos gráficos não sejam "transparentes"? Você tem uma boa experiência nesse assunto, talvez já tenha se deparado com isso.

 
Ruslan Piraliyev #:

Obrigado pelos links, vou dar uma olhada se possível. E quanto à minha pergunta sobre a "transparência" dos objetos gráficos pelos quais o gráfico de preços rola? É possível fazer com que os objetos gráficos não sejam "transparentes"? Você tem uma boa experiência nesse assunto, talvez já tenha se deparado com isso.

Não estou entendendo a pergunta. Acredito que esse problema não exista nas versões mais recentes. Experimente.

 
Anatoli Kazharski #:

Não estou entendendo a pergunta. Acredito que nas versões mais recentes não há esse problema. Tente isso.

Por exemplo, há um botão Comprar, se você apenas pressioná-lo e soltá-lo, ele funcionará como deveria, mas se você apontar para ele e pressioná-lo, todo o gráfico será capturado (ele está em segundo plano) e rolará quando você mover o mouse da esquerda para a direita. Ou seja, se houver o menor deslocamento ao pressionar esse botão (e isso acontece), o botão não funcionará porque o gráfico com o preço será capturado. Portanto, eu gostaria que esse botão não fosse "transparente", para que o gráfico com o preço não ficasse preso a ele. Por exemplo, os botões internos do MT5 "negociar em um clique" funcionam como deveriam.

 
Ruslan Piraliyev #:

Por exemplo, há um botão Comprar, se você apenas pressioná-lo e soltá-lo, ele funcionará como deveria, mas se você apontar para ele e pressioná-lo, todo o gráfico será capturado (ele está no plano de fundo) e rolará quando você mover o mouse da esquerda para a direita. Ou seja, se houver o menor deslocamento ao pressionar esse botão (e isso acontece), o botão não funcionará porque o gráfico com o preço será capturado. Portanto, eu gostaria que esse botão não fosse "transparente", para que o gráfico com o preço não ficasse preso a ele. Por exemplo, os botões internos do MT5 "negociar em um clique" funcionam como deveriam.

Na versão mais recente, ele funciona como você precisa:

EasyAndFastGUI - biblioteca para criação de interfaces gráficas
EasyAndFastGUI - библиотека для создания графических интерфейсов
EasyAndFastGUI - библиотека для создания графических интерфейсов
  • www.mql5.com
Библиотека EasyAndFastGUI дает возможность создавать графические интерфейсы для своих MQL-программ.
 
Anatoli Kazharski #:

A versão mais recente funciona como você precisa:

EasyAndFastGUI - biblioteca para criação de interfaces gráficas

Obrigado, vou tentar!

 
Anatoli Kazharski #:

A versão mais recente funciona como você precisa:

EasyAndFastGUI - biblioteca para criação de interfaces gráficas

É claro que você fez um excelente trabalho no desenvolvimento e na descrição, o que é, acima de tudo, um elogio. É difícil entender tudo de uma só vez , mas, pelo que experimentei, parece que você criou um botão na barra de ferramentas e o painel com o botão não está realmente brilhando com o que você precisa. Talvez no futuro eu também chegue a essa implementação, mas agora tenho a tarefa de criar um botão puramente sem a subposição de formulário e que não brilha. Se você indicar uma propriedade ou me disser como fazer isso, ficarei muito feliz.

 
Ruslan Piraliyev #:

...

Talvez no futuro eu também chegue a essa implementação, mas agora tenho a tarefa de criar um botão puro sem a subposição de formulário e que não seja translúcido.

...

Isso é exatamente o que eu não tenho.