Características da linguagem mql4, sutilezas e técnicas - página 16
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Espero que vocês sejam amigos)
A "Guerra dos Titãs" não vai acontecer.
Há alguma maneira de saber diretamente do programa qual fonte está atualmente no windows (ampliada ou não) e fazer essa correção em código, sem tocar os usuários? Apenas algumas pessoas podem ter um monitor de 4k com texto em escala e a maioria dos indicadores (onde o texto é usado) do mercado parecem feios e feios.
Espero que o fio não esteja morto. Tenho o seguinte problema: tenho um monitor de 4k, portanto no Windows tenho uma fonte ampliada (tamanho 200%). Quando você faz objetos de texto para indicadores, o tamanho do texto é retirado das configurações do Windows e também é escalado, como resultado, se você fizer algo que pareça normal em um sistema normal, no meu computador o texto se sobrepõe, e se você o fizer normal para mim, então nas configurações normais o texto é muito pequeno. Fiz um ajuste no indicador para deixar o usuário escolher se ele é escalonado ou não, mas não gosto muito dele.
Há alguma maneira de saber diretamente do programa qual fonte está atualmente no windows (ampliada ou não) e fazer essa correção em código, sem tocar os usuários? Algumas pessoas podem ter um monitor de 4k com texto em escala e a maioria dos indicadores (onde o texto é usado) do mercado parece feio.
Talvez você devesse mudar para trabalhar com recursos, ou CCanvas?
Então você pode definir o tamanho da fonte ali de acordo com as configurações do sistema operacional.
Leia sobre TextOut(), TextSetFont()
E é isso, a solução é encontrada. Para aqueles que se perguntam o que é: Use a função TerminalInfoInteger(TERMINAL_SCREEN_DPI); Com a escala padrão será 96. Se for 2 vezes maior, então a escala será 2 vezes maior de acordo.
A solução está na ajuda
Exemplo de cálculo do fator de escala:
//--- criamos um botão com largura 1.5" na tela
int screen_dpi =TerminalInfoInteger(TERMINAL_SCREEN_DPI);//--- obter DPI do monitor do usuário
int base_width =144;//largura de base em pontos de tela para monitores padrão com DPI=96
int width = (button_width *screen_dpi) / 96;//calcule a largura do botão para o monitor do usuário (com DPI)
...
//--- calculate the scale factor in percents
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI)* 100) / 96;
//--- usando fator de escala
width=(base_width * scale_factor) / 100;
A solução está na ajuda
Sim, mas não é para as fontes.
E é isso, a solução é encontrada.
realmente? o dimensionamento afeta o monitor dpi?
Fórum sobre comércio, sistemas automatizados de comércio e teste de estratégias comerciais
Peculiaridades da linguagem mql5, dicas e truques
fxsaber, 2019.02.19 22:28
Você vê a posição aberta e fechada pelo mesmo preço. Mas seus preços não são iguais quando comparados sem a normalização!