Discussão do artigo "Crie seus próprios painéis gráficos no MQL5" - página 2

 

Eu queria estudar tudo, por assim dizer, pelo método de cutucar o exemplo do Controls.mq5. Já tentei alterar o nome dos botões.

   if(!m_button2.Create(m_chart_id,m_name+"Button2222",m_subwin,x1,y1,x2,y2))
      return(false);
   if(!m_button2.Text("Buy"))
      return(false);

Tentei alterar a saída no m_Edit, alterei #define BUTTON_WIDTH . Recarreguei o terminal, atualizei os scripts no navegador.

void CControlsDialog::OnClickButton3(void)
  {
   if(m_button3.Pressed())
      m_edit.Text(__FUNCTION__+"Test");
   else
      m_edit.Text(__FUNCTION__+"I td");

Mas nada adiantou. Com diferentes alterações, a exibição do EA não muda em nada. Por favor, me diga qual é o problema

 
sugestão para o futuro... criar uma classe (objeto) "calendário suspenso"
 
thejobber:
sugestão para o futuro... criar uma classe (objeto) "calendário suspenso".

Já existe um objeto desse tipo - CDatePicker, veja na biblioteca padrão

 
Kos:

Já existe um CDatePicker desse tipo, veja na biblioteca padrão.

Obrigado, existe sim! Eu estava seguindo a ajuda..... até agora, agora também vou procurar em MQL5\Include\Controls, mas terei que aprender a usá-lo (sem a descrição na ajuda) corretamente (( mas já aprendi algumas classes, espero que seja mais fácil daqui para frente...).
 
thejobber:
Obrigado, sim, é isso mesmo! Usei a ajuda para me orientar..... até agora, agora também vou dar uma olhada no MQL5/Include/controls, mas terei que aprender a usá-lo (sem a descrição na ajuda) corretamente (( mas já dominei algumas classes, espero que seja mais fácil daqui para frente...).
Dê uma olhada no exemplo do Expert Advisor: ..\Experts\Examples\Controls\Controls\Controls.mq5
 

#property indicator_separate_window

Existe alguma maneira de fazer com que o painel não seja destacado de baixo para cima, mas da esquerda, da direita ou de cima para baixo?

Existe alguma maneira de proibir o arrastamento do painel? porque tudo está feito, funciona exatamente como pretendido, mas quando eu arrasto o painel, os elementos dentro dele se movem para fora do painel, de alguma forma não há desejo de lidar com esse problema, é mais fácil proibir o arrastamento do painel )))

e, em geral, essa biblioteka (painéis) ainda está crua, às vezes tudo funciona como deveria, depois, sem alterar nada, após algum tempo, começam algumas falhas estranhas... Entendo que, para resolver esses problemas, você precisa de exemplos e códigos específicos... Não vou postar por enquanto, porque já resolvi a tarefa principal que me propus, então, se eu pensar em postá-lo no mercado, postarei especificamente ....

 

thejobber:

...MAS quando eu arrasto um painel, os elementos dentro dele se movem para fora do painel, de alguma forma eu não quero lidar com esse problema, é mais fácil proibir o arrastamento do painel ))

Como no sistema soviético, é mais fácil proibir :-))

Você pode dar uma olhada aqui:

CDialog::Add ()

и

AppDialog:: Run()

 

assistido, é claro, leia.... Fiz tudo como ele diz)

só que não há nenhum parâmetro que controle a capacidade de arrastar e soltar painéis.

 

thejobber:

só que não há nenhum parâmetro que controle a capacidade de arrastar e soltar painéis.

Qual é a finalidade do controle de arrastar?

Por que não existe esse parâmetro? E os manipuladores DialogDragStart(), OnDialogDragProcess(), OnDialogDragEnd()?

 
E como faço para adicionar a esse painel (por exemplo) a alteração do tamanho da fonte dos objetos do painel?