Essa operação RowState é uma operação protegida (protected), por isso o erro de compilação.
Case não entenda o conceito de visibilidades dos atributos e métodos de classes leia mais na documentação em https://www.mql5.com/pt/docs/basis/oop.
Tente usar o método Check ao invés de RowState, acredito que funcione.
void CPanelDialog::OnClickButton3(void) { int i; if(m_check_group1.Value() == 0) { for(i = 0;i<m_check_group1.ControlsTotal();i++) m_check_group1.Check(i,1); } else { for(i = 0;i<m_check_group1.ControlsTotal();i++) m_check_group1.Check(i,0); } }
- www.mql5.com
Olá, ElmoDeMoraes, muito obrigado pela ajuda, o caminho parece ser este mesmo, mas ainda não está 100%. O primeiro detalhe é que a iteração i<m_check_group1.ControlsTotal() não deu certo. Consegui contornar isso colocando um outro valor neste local (função própria). Mas o principal problema está sendo com m_check_group1.Value() que não está sendo atualizado através de m_check_group1.Check(i,true). Conseguimos ver isto através de um Print() logo em seguida, veja:
void CPanelDialog::OnClickButton3(void) { int i; if(m_check_group1.Value() == 0) { for(i = 0;i<candle.getPatternsNumber();i++) m_check_group1.Check(i,true); Print(m_check_group1.Value()); // está retornando 0 e deveria retornar algo > 0 } else { for(i = 0;i<candle.getPatternsNumber();i++) m_check_group1.Check(i,false); Print(m_check_group1.Value()); // Não entra aqui pois .Value() está sempre igual a 0; } }
O problema é que se eu não conseguir atualizar via código este método .Value(), infelizmente estarei sem solução novamente. O amigo tem alguma outra sugestão?
- 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
Olá, por gentileza, tenho um objeto CCheckGroup m_check_group1.
Gostaria de criar um botão para selecionar todos ou nenhum dos itens deste objeto. Tentei o seguinte trecho, mas estou recebendo o erro: "'CCheckGroup::RowState' - cannot call protected member function"
Ou seja, pelo que entendi na documentação, eu precisaria percorrer todos os itens do objeto e alterar o estado de cada um deles, assim eu estaria consequentemente alterando Value(). Seria isso mesmo? Alguém tem alguma outra ideia para me ajudar?