Discussão do artigo "Linguagem MQL como um meio de marcação da interface gráfica de programas MQL (Parte 3). Designer de formulários"
O editor visual ainda deve incluir a edição manual de elementos - esticar, mover, digitar texto, copiar e assim por diante. A marcação auxiliar é desejável.
Esse editor se mostra promissor, embora eu não tenha ideia de como o autor cumpre os outros requisitos, pois não entendo sua tecnologia. Ele "ficou sobre os ombros" da biblioteca padrão e, por um lado, deu um poderoso impulso, mas, por outro lado, faz com que você herde suas limitações. Ela não foi projetada para transformação em larga escala... Muitas funcionalidades terão de ser adicionadas de cima para baixo.
Lista de requisitos para o futuro editor:
1. Personalização manual de elementos.
2. Cópia de elementos.
3. gerenciamento simultâneo de propriedades de um conjunto de elementos.
4. Enquadramento auxiliar.
5. Modo de várias janelas.
6. Criação de janelas de diferentes tipos.
7. Suporte a propriedades de janelas: "sempre no topo", bloqueando outras, com/sem minimização.
8. Edição paralela de janelas.
9. Exclusão de janelas.
Isso é tudo por enquanto.
ZY: Até onde sei, os controladores SB consistem em objetos MT, o que, por um lado, simplifica o sistema de interação com os elementos e o ajuste manual (há muito tempo, eu tinha um editor baseado em objetos MT e não foi difícil criá-lo), por outro lado (se você aceitar essa simplificação), tira todas as vantagens do kanvas (entre elas, velocidade, efeitos visuais e muito mais). Ou seja, o "efeito de doping" do uso do SB ao criar um editor limita severamente seu desenvolvimento. Mas, vejamos...
- www.mql5.com
Em um futuro próximo, acho que qualquer pessoa será capaz de criar e configurar qualquer interface gráfica que atenda às suas necessidades.
- www.mql5.com
Hi,
Estou enfrentando esse tipo de situação em um dos meus laptops.
Tudo parece minúsculo, exceto os rótulos de texto.
O valor de "TerminalInfoInteger(TERMINAL_SCREEN_DPI)" é 192.
Você sabe como resolver isso? Achei que as bibliotecas se ajustariam automaticamente de acordo com as configurações da minha tela.
Hi,
Estou enfrentando esse tipo de situação em um dos meus laptops.
Tudo parece minúsculo, exceto os rótulos de texto.
O valor de "TerminalInfoInteger(TERMINAL_SCREEN_DPI)" é 192.
Você sabe como resolver isso? Achei que as bibliotecas se ajustariam automaticamente de acordo com as configurações da minha tela.
Infelizmente, não tenho meios de testá-las em ambientes diferentes. A biblioteca é baseada em controles padrão (com pequenas correções não relacionadas ao dpi). Portanto, se houver alguma falha, esse parece ser um problema comum, não da biblioteca.
Mas acho que você deve primeiro verificar a configuração de escala do Windows.
Apenas uma ideia: tente corrigir o Defines.mqh para:
#define CONTROLS_FONT_SIZE (-10)
O sinal de menos é adicionado.
Ou outra ideia:
#define CONTROLS_FONT_SIZE ((int)(10.0 / (TerminalInfoInteger(TERMINAL_SCREEN_DPI) / 96.0)))Informe-me se alguma das variantes ajudar.
- 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 Linguagem MQL como um meio de marcação da interface gráfica de programas MQL (Parte 3). Designer de formulários foi publicado:
Este artigo complementa a descrição da ideia de como construir uma interface de programa MQL com ajuda das construções da linguagem MQL. Um editor gráfico especial nos permitirá configurar interativamente um layout consistindo nas principais classes de elementos da GUI e, em seguida, as exportará para uma descrição MQL que será usada em nosso projeto MQL. Aqui são apresentados detalhes internos do editor e o manual do usuário. Códigos fonte estão anexados ao artigo.
O editor é projetado para classes de elementos de interface da Biblioteca Padrão. Para criar ferramentas semelhantes para outras bibliotecas, precisaremos escrever implementações concretas de todas as entidades abstratas desde o sistema de layout proposto. Adicionalmente, devemos nos orientar pela implementação de classes de layout para a Biblioteca Padrão.
Deve-se notar que o nome "biblioteca de componentes padrão" não corresponde exatamente à realidade, uma vez que no contexto de artigos anteriores já tivemos que modificá-la significativamente e exibi-la como uma ramificação de versão paralela na pasta ControlsPlus. Para os fins deste artigo, continuaremos a usá-la e modificá-la.
Vamos listar os tipos de elementos que o editor suportará.
Todas as classes facilitam o redimensionamento adaptável (alguns tipos padrão tinham isso desde o início, outros receberam modificações significativas).
Processo de edição de formulário
Autor: Stanislav Korotky