Fixar Painel - bloquear minimizar - ou sei lá como dizer isso...

 

Galera gostaria de saber de tem jeito de impedir que um painel criado atraves do CAppDialog se minimize quando alternamos a janela de um grafico

Por exemplo o painel esta no gráfico do EURUSD e vou ver o grafico do BTCUSD, quando retorno ao EURUSD o painel está minimizado ...

Vi em outro lugar um camarada falando sobre modificar um arquivo da biblioteca e dar certo para ele, mas não quero ser tão radical

bastava o painel não minimizar ou maximizar automaticamente com reabrisse a janela de grafico, como no exemplo EURUSD

Alguém tem uma idéia???

 
Alexandre Molina:

Galera gostaria de saber de tem jeito de impedir que um painel criado atraves do CAppDialog se minimize quando alternamos a janela de um grafico

Por exemplo o painel esta no gráfico do EURUSD e vou ver o grafico do BTCUSD, quando retorno ao EURUSD o painel está minimizado ...

Vi em outro lugar um camarada falando sobre modificar um arquivo da biblioteca e dar certo para ele, mas não quero ser tão radical

bastava o painel não minimizar ou maximizar automaticamente com reabrisse a janela de grafico, como no exemplo EURUSD

Alguém tem uma idéia???

Eu resolvi fazendo uma copia do arquivo  "Dialog.mqh", e ditando para remover toda referencia ao botão maximizar/minimizar no arquivo, lembrar de colocar também a imagem do botão Fechar na pasta img criada no diretório atual do seu EA e modificar o include do EA para referencia o arquivo na pasta atual, #include "Dialog.mqh", segue em anexo.
Arquivos anexados:
Dialog.mqh  35 kb
 

Olá, veja o artigo abaixo:

Artigos

Como criar um painel gráfico de qualquer nível de complexidade

Vladimir Karputov, 2018.05.17 08:56

O artigo apresenta uma explicação detalhada de como criar um painel com base na classe CAppDialog e como adicionar controles ao painel. Ele fornece a descrição da estrutura do painel e um esquema, que exibe a herança de objetos. Neste artigo, você também aprenderá como os eventos são tratados e como eles são entregues aos controles dependentes. Exemplos adicionais mostram como editar os parâmetros do painel, como o tamanho e a cor do plano de fundo.

 
Alexandre Molina:

Galera gostaria de saber de tem jeito de impedir que um painel criado atraves do CAppDialog se minimize quando alternamos a janela de um grafico

Por exemplo o painel esta no gráfico do EURUSD e vou ver o grafico do BTCUSD, quando retorno ao EURUSD o painel está minimizado ...

Vi em outro lugar um camarada falando sobre modificar um arquivo da biblioteca e dar certo para ele, mas não quero ser tão radical

bastava o painel não minimizar ou maximizar automaticamente com reabrisse a janela de grafico, como no exemplo EURUSD

Alguém tem uma idéia???

Quem sabe alguma outra biblioteca

https://www.mql5.com/pt/code/15059

A biblioteca MasterWindows
A biblioteca MasterWindows
  • www.mql5.com
Uma biblioteca de classes para criar uma interface amigável de seus programas.
 

Eu particularmente criei um método no meu painel que me deu o controle para poder maximizar ou minimizar o painel conforme a necessidade.

void CMeuPainel::Minimizar(bool flag)
  {
  if((flag && !m_minimized)||
      (!flag && m_minimized))
    {
    int total=ControlsTotal();
    for(int i=0;i<total;i++)
      {
        CWnd *control=Control(i);
        //--- check of pointer
        if(control==NULL)
           continue;
        if(Control(i).Name() == (m_name + "MinMax"))
          {
           CBmpButton *button = (CBmpButton*)Control(i);
           if(m_minimized)
             {
             button.Pressed(false);
             }
           else
             {
             button.Pressed(true);
             }
           break;
          }
      }   
    
    OnClickButtonMinMax();
    ChartRedraw();
    }
  }

A flag controla esta função.

Razão: