Масштабированные шрифты Windows и что с ними делать

 
У меня следующая проблема: монитор 4к, следовательно в Windows у меня шрифт увеличен (размер 200%). Когда делаешь объекты текста для индикаторов, размер текста берется исходя из настроек Windows и тоже масштабируется, в итоге если делать что-то, что нормально выглядит на обычной системе, то на моем компьютере текст залазит друг на друга, а если делать нормально для меня, то на обычных настройках текст слишком мелкий. Я сделала input настройку в индикаторе, чтобы пользователь сам выбирал масштабированный или не масштабированный вариант, но это мне не очень нравится. 

Есть ли способ прямо из программы узнать какой шрифт в данный момент в windows (увеличенный или нет) и делать эту поправку в коде, не трогая юзеров? Я как-то не нашла. Просто у некоторых бывает монитор 4к с масштабированным текстом и большинство индикаторов (где используется текст) из маркета у них выглядит убого и страшно.
 
Olga Miakhovich:
У меня следующая проблема: монитор 4к, следовательно в Windows у меня шрифт увеличен (размер 200%). Когда делаешь объекты текста для индикаторов, размер текста берется исходя из настроек Windows и тоже масштабируется, в итоге если делать что-то, что нормально выглядит на обычной системе, то на моем компьютере текст залазит друг на друга, а если делать нормально для меня, то на обычных настройках текст слишком мелкий. Я сделала input настройку в индикаторе, чтобы пользователь сам выбирал масштабированный или не масштабированный вариант, но это мне не очень нравится. 

Есть ли способ прямо из программы узнать какой шрифт в данный момент в windows (увеличенный или нет) и делать эту поправку в коде, не трогая юзеров? Я как-то не нашла. Просто у некоторых бывает монитор 4к с масштабированным текстом и большинство индикаторов (где используется текст) из маркета у них выглядит убого и страшно.

Я бы сделал дефайн и перекомпилил бы двух индикаторов один для себя другой для пользователя. У большенства обычные мониторы а меньшенству можно и маштабируемый отправлять по запросу

 
Olga Miakhovich:
У меня следующая проблема: монитор 4к, следовательно в Windows у меня шрифт увеличен (размер 200%). Когда делаешь объекты текста для индикаторов, размер текста берется исходя из настроек Windows и тоже масштабируется, в итоге если делать что-то, что нормально выглядит на обычной системе, то на моем компьютере текст залазит друг на друга, а если делать нормально для меня, то на обычных настройках текст слишком мелкий. Я сделала input настройку в индикаторе, чтобы пользователь сам выбирал масштабированный или не масштабированный вариант, но это мне не очень нравится. 

Есть ли способ прямо из программы узнать какой шрифт в данный момент в windows (увеличенный или нет) и делать эту поправку в коде, не трогая юзеров? Я как-то не нашла. Просто у некоторых бывает монитор 4к с масштабированным текстом и большинство индикаторов (где используется текст) из маркета у них выглядит убого и страшно.
Особенности языка mql4, тонкости и приёмы работы
Особенности языка mql4, тонкости и приёмы работы
  • 2019.02.08
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql4, примеры решения тех, или иных задач...
 
Andrey Azatskiy:

Я бы сделал дефайн и перекомпилил бы двух индикаторов один для себя другой для пользователя. У большенства обычные мониторы а меньшенству можно и маштабируемый отправлять по запросу

А есть идеи, как сделать это в одном? Есть ли какие-то функции позволяющие проверить масштаб шрифта, пусть даже если совсем костыльные?

 
TERMINAL_SCREEN_DPI
У обычных моников, если я не ошибаюсь, это значение = 96.
 
Olga Miakhovich:

А есть идеи, как сделать это в одном? Есть ли какие-то функции позволяющие проверить масштаб шрифта, пусть даже если совсем костыльные?

Да, функции работы с канвасом, как вам уже ответили.

 
SeriousRacoon:

В моей ситуации использовать Canvas очень неудобно, а вот использовать TERMINAL_SCREEN_DPI это уже толково, спасибо.