Erros, bugs, perguntas - página 2395

 
Igor Makanu:

este é um exemplo de utilização da classe padrão de biblioteca CAppDialog

se utilizar esta classe, o método Minimize() é sempre chamado quando se muda de gráfico

Não o queria compreender, apenas escrevi o meu próprio OnClickButtonMinMax(), era bastante confuso, mas funcionava sem problemas.

existe outro bug na classe CAppDialog, após Minimize() e Maximize() a propriedade OBJPROP_BACK da classe CCheckBox é alterada, e as caixas de verificação tornam-se com borda "quadrada", fixei rapidamente ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true) neste código; ...

Tem razão.

Estudei o código apresentado e mudei a minha resposta.

O problema é que na aplicação MDI, apenas uma janela activa é maximizada, enquanto o resto das janelas estão além do tamanho máximo e são "normais" em tamanho.

Ao mudar de separador, a nova janela activa é expandida e a janela anteriormente activa é colapsada ao seu tamanho normal.

A EA captura a mudança no tamanho do gráfico, detecta que a barra não encaixa e minimiza a janela.

Iremos considerar e possivelmente alterar este comportamento no SB.

 
Ilyas:

Tem razão.

Estudei o código submetido e alterei a minha resposta.

O problema é que, numa aplicação MDI, apenas uma janela activa é maximizada, enquanto outras estão deitadas fora da maximizada e têm um tamanho "normal".

Ao mudar de separador, a nova janela activa é expandida e a janela anteriormente activa é colapsada ao seu tamanho normal.

A EA captura a mudança no tamanho do gráfico, detecta que a barra não encaixa e minimiza a janela.

Iremos considerar e possivelmente alterar este comportamento no SB.

Reproduzi o meu código sem todo o material extra, mas infelizmente só tenho código para MT4 - tenho prática de escrita para MT4, mas não escrevo muito para MT5, mas penso que tem as mesmas bibliotecas

Arquivos anexados:
tstpanel.mq4  12 kb
 
Ilyas:

Apaguei a minha resposta anterior

A janela está a colapsar porque não cabe na tabela.
Saia do modo "gráfico para toda a janela terminal", verá as dimensões reais dos gráficos.

A fim de evitar o colapso do painel no gráfico, é necessário aumentar o tamanho dos gráficos.
Depois disso, pode expandir o gráfico para todo o terminal e tentar alternar entre eles

já tentei isso no início, quando os novos painéis apareceram. poupei espaço. o painel é na realidade cerca de três vezes mais pequeno do que a janela do gráfico maximizado.
Mas obrigado pela resposta. Tinha-me esquecido desta possível opção.

E porque é que o painel não se desmorona quando o coloca na segunda janela e muda para ela a partir da primeira janela enquanto trabalha com gráficos expandidos?

 
Igor Makanu:

este é um exemplo de utilização da classe padrão de biblioteca CAppDialog

se utilizar esta classe, o método Minimize() é sempre chamado quando se muda de gráfico

Não o queria compreender, apenas escrevi o meu próprio OnClickButtonMinMax(), era bastante confuso, mas funcionava sem problemas.

há outro bug na classe CAppDialog, após Minimize() e Maximize() a propriedade OBJPROP_BACK da classe CCheckBox é alterada, e as caixas de verificação tornam-se com borda "quadrada", fixei ObjectSet(TS1.Name()+"Label",OBJPROP_BACK,true) também neste código, ...

editou a biblioteca tendo em conta a sua opção de limitação do tamanho do painel, para evitar minimizá-la ao mudar de outra janela, tudo funcionou.

 
Vjacheslav Lapaev:

Editei a biblioteca para ter em conta a sua opção de limitar o tamanho do painel, para evitar o seu colapso ao mudar de outra janela, e funcionou. obrigado.

Tudo estará de volta ao normal após a próxima actualização. Seria melhor não editar o SB, mas herdar da classe para a qual fez as edições.

 
Artyom Trishkin:

Após a próxima actualização, tudo voltará ao "normal". Seria melhor não editar o SB, mas herdar da classe para a qual fez as edições.

Sim, estou a ver, obrigado.

 
É um bot?
 
fxsaber:
É um bot?
Porquê uma pergunta destas?
 

Se a janela do testador cobrir um indicador, aparecerão dicas para esse indicador através dele:

Aí está.

 
Alexey Kozitsyn:

Se a janela do testador cobrir um indicador, a ponta de ferramenta para esse indicador irá aparecer através dele:

Ah, não, o insecto é ligeiramente diferente. A janela de teste brilha através da ponta da ferramenta que foi activada pela última vez. Se a ponta de ferramenta "Escala Horizontal" foi exibida pela última vez, então será sempre exibida, se a ponta de ferramenta "Escala Vertical" foi a última, então será exibida pela última vez ao pairar sobre o valor do indicador escondido sob a janela do testador. Em geral, não quero ver nenhuma ponta de ferramenta à esquerda.