Espero que o ramo não esteja morto. Eu tenho o seguinte problema: tenho um monitor de 4k, portanto no Windows minha fonte é ampliada (200% de tamanho). Ao fazer objetos de texto para indicadores, o tamanho do texto é retirado das configurações do Windows e também escalonado, como resultado, se eu fizer algo que pareça normal em um sistema normal, em meu computador o texto se sobrepõe e se eu fizer normal para mim, em 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? 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.
Olga Miakhovich: 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.
Устанавливает шрифт для вывода текста методами рисования и возвращает результат успешности этой операции. По умолчанию используется шрифт Arial и размер -120 (12 pt). [in] Размер шрифта, который может задаваться положительными и отрицательными значениями. При положительных значениях размер выводимого текста не зависит от настроек размеров...
É isso aí, solução encontrada. Para aqueles que estão se perguntando o que é: Use a funçãoTerminalInfoInteger(TERMINAL_SCREEN_DPI); Com escala padrão será 96. Se for 2 vezes maior, então a escala será 2 vezes maior de acordo.
Olga Miakhovich: 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;
Para login e uso do site MQL5.com, você deve ativar o uso de cookies.
Ative esta opção no seu navegador, caso contrário você não poderá fazer login.
Você entrou na conta. A autenticação de dois fatores foi desativada. Configure-a novamente e escaneie um novo código QR ou continue com a autenticação de dois fatores desativada.
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!