Bom artigo para iniciantes. Entretanto, em interfaces mais complexas, essa abordagem não é mais aceitável. A primeira coisa que chama sua atenção:
for(int i=0; i<BUTTON_COLUMNS; i++) { for(int j=0; j<BUTTON_ROWS; j++) { ... ... ...Ou seja, uma estrutura de tabela rígida é costurada no algoritmo e essa construção é encontrada em quase todas as funções. Agora vamos imaginar que a subjanela contém vários elementos gráficos que não estão relacionados à tabela de forma alguma. Para eles, teremos de descrever seu próprio modelo de posicionamento, e isso não é bom. O modelo de posicionamento deve ser único e universal, ou seja, nesse caso, o layout da "tabela" deve ser um caso especial desse modelo.
Bom artigo para iniciantes. Entretanto, em interfaces mais complexas, essa abordagem não é mais aceitável. A primeira coisa que chama sua atenção:
Ou seja, uma estrutura de tabela rígida é costurada no algoritmo e essa construção é encontrada em quase todas as funções. Agora vamos imaginar que a subjanela contém vários elementos gráficos que não estão relacionados à tabela de forma alguma. Para eles, teremos de descrever seu próprio modelo de posicionamento, e isso não é bom. O modelo de posicionamento deve ser único e universal, ou seja, nesse caso, o layout da "tabela" deve ser um caso especial desse modelo.Sim, você está certo. Tentarei pensar em algo mais original da próxima vez. )
Nesse caso, para fugir do caso especial, basta usar uma matriz unidimensional e um loop.
...
Já estou acostumado a usar o OBJ_EDIT, pois ele é exibido durante a visualização no testador.
Nesse caso, você poderia usar qualquer objeto para o exemplo. Afinal, trata-se de um processo criativo. )
- www.mql5.com
Não entendo por que você deve usar o OBJ_EDIT.
Seria muito mais útil "reviver" os botões padrão da biblioteca (para que eles também brilhem sob o mouse).
Ou seja, parece ser um artigo útil, mas não entendo por que essa forma foi escolhida.
ps: invejo a fecundidade do autor ;)
Seria muito mais útil "animar" os botões padrão da biblioteca (para que eles também brilhem com o mouse).
- www.mql5.com
E os botões não são realmente botões).
E eu me pergunto: existe algum desenvolvedor profissional que usaria a biblioteca padrão de elementos gráficos em seus produtos?
- 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 Guia prático do MQL5: Controles de sub-janela indicadora - botões foi publicado:
Neste artigo, vamos considerar um exemplo de desenvolvimento de uma interface de usuário com controles de botão. Para transmitir a ideia de interatividade ao usuário, os botões mudarão suas cores quando o cursor passar sobre eles. Com o cursor sobre um botão, a cor do botão será ligeiramente escurecida, ficando significativamente mais escura quando o botão for clicado. Além disso, adicionaremos janelas pop-up em cada botão, criando assim, uma interface intuitiva.
O artigo também cobrirá alguns eventos: movimento do mouse, estado do botão esquerdo do mouse, clique do botão esquerdo do mouse em um objeto e evento de modificação de propriedades de gráfico. Nós vamos criar um painel de botões que vai ocupar todo o espaço da sub-janela indicadora. Para fins ilustrativos, os botões serão dispostos em três fileiras, com quatro botões em cada linha.
Autor: Anatoli Kazharski