Discussão do artigo "Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2)"
Ao compilar o arquivo SplitButton.mqh, aparece o erro "'return' - cannot convert from const pointer to non-const pointer SplitButton.mqh 90 65".
Sim, esse erro apareceu após a última atualização do terminal. As regras do "jogo" mudaram um pouco. Você pode corrigi-lo simplesmente excluindo o especificador const.
Vá até a linha com o erro e substitua essa linha:
CContextMenu *GetContextMenuPointer(void) const { return(::GetPointer(m_drop_menu)); }
Por esta:
CContextMenu *GetContextMenuPointer(void) { return(::GetPointer(m_drop_menu)); }
//---
Você precisará fazer correções semelhantes em todos os arquivos em que esse erro ocorrerá. Nos próximos artigos da série, o erro será corrigido.
Obrigado pela postagem.
Foi publicado o novo artigo Graphical Interfaces III: Groups of Simple and Multi-Functional Buttons (Capítulo 2):
Autor: Anatoli Kazharski
Excelente trabalho!
Porém, ao tentar usar o Painel como Indicador no MT4 (!), cada clique em um "Botão de ícone" resulta em uma impressão dupla do seu
::Print(__FUNCTION__," > id: ",id,"; lparam: ",lparam,"; dparam: ",dparam,"; sparam: ",sparam);
Portanto, cada ação de clique, como um incremento ou qualquer outra coisa, será feita duas vezes :(
Há alguma maneira de corrigir isso?
P.S. O curioso é que tudo funciona bem no MT5. Apenas o MT4 apresenta esse problema quando usado como indicador. Como Expert, também funciona bem.
...
Existe alguma maneira de corrigir isso?
P.S. O curioso é que tudo funciona bem no MT5. Apenas o MT4 apresenta esse problema quando usado como indicador. Como Expert, também funciona bem.
Hi,
Fiz uma solução rápida e suja que funciona muito bem para mim. Minha maneira foi verificar o botão esquerdo pressionado separadamente no OnEvent e, se estiver definido, escrever um bool true em um auxiliar. Depois disso, a declaração if normal é estendida com helper == true e a configuração dentro do if apenas redefine o helper. Funciona quase perfeitamente. Em alguns casos, os cliques rápidos não são mencionados, mas é melhor clicar mais devagar do que ter resultados duplos :)
BTW: seria bom se alguém pudesse atualizar todas as suas bibliotecas atuais para o inglês. As mais recentes, por exemplo, o artigo 05 e assim por diante, estão apenas em russo.
Hi,
Tenho uma pergunta,
como tornar transparente a parte preta ao redor dos ícones?
Obrigado
Hi.
Acabei de baixar os arquivos do artigo3
Quando os compilei... recebi o seguinte erro
CContextMenu *GetContextMenuPointer(void) const { return(::GetPointer(m_drop_menu));
Arquivo = splitButton.mqh.
Alguém sabe como consertar isso?
Estou tentando criar um botão simples.
Obrigado
Obrigado
Excluir "const" está OK
CContextMenu *GetContextMenuPointer(void) { return(::GetPointer(m_drop_menu));
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Novo artigo Interfaces Gráficas III: Grupos de Botões Simples e Multifuncionais (Capítulo 2) foi publicado:
O primeiro capítulo desta série foi sobre os botões simples e multifuncionais. O segundo artigo se dedicará aos grupos de botões interconectados entre si, que permitirão a criação dos controles, quando um usuário puder selecionar uma das opções a partir de um determinado conjunto (grupo).
Cada elemento de rádio será composto por três objetos primitivos:
Fig. 3. Partes integrantes dos botões de radio.
Autor: Anatoli Kazharski