Мой экран 1920 * 1080 разрешение
Print(" Rezult "+TerminalInfoInteger(TERMINAL_SCREEN_DPI));
показывает 96 что это такое и от чего оно зависит ?
Пробовал уменьшить разрешение, пробовал увеличить все равно 96.
Знаю что не экранах с большим разрешением обьекты типа кнопки тексты могут отображаться не верно
Как с этим бороться ?
Бороться? Это же количество точек на дюйм - (Dots Per Inch)
Как ни меняй разрешение экрана - количество пикселей по ширине и высоте, DPI останется тем же
Ну если только монитор себе другой возьмёшь...
Мой экран 1920 * 1080 разрешение
Print(" Rezult "+TerminalInfoInteger(TERMINAL_SCREEN_DPI));
показывает 96 что это такое и от чего оно зависит ?
Пробовал уменьшить разрешение, пробовал увеличить все равно 96.
Знаю что не экранах с большим разрешением обьекты типа кнопки тексты могут отображаться не верно
Как с этим бороться ?
Сам в терминале рисованием не занимаюсь, скажу, что помню, с тех времен, как делал графические редакторы. Иконки (кнопки) рисовали поточечно, два-три типоразмера для разных разрешений. Размеры областей графического вывода подсчитывали, исходя из их процентных размеров относительно всей области (прямоугольника) вывода. При этом подбирался размер шрифта, чтобы опции меню и тексты были видимы и занимали разумную ширину. Много скрупулезной работы. Включая подбор подходящих гарнитур шрифтов, трутайповских и растровых.
Однако все это требовалось, если пользователи программы работали на различных видеорежимах и разрешениях монитора. Прежде всего надо было определиться именно с тем, какие видеорежимы (EGA, VGA, XGA, SVGA...) и диапазоны разрешений будете поддерживать. Как сейчас с этим разнообразием, не знаю. Думаю, должно было стать значительно проще.
Конкретно по приведенному Вами рисунку можно предположить, что размер (кегль) шрифта не меняется с разрешением, хотя должен бы. Попробуйте его поменять в соответствии с вертикальным размером экрана в пикселах. В MQL навскидку получить этот размер я средств не знаю, наверное, необходимо подключать DLL. Однако сами-то Вы его знаете (1080 или другой, который установите). Кроме этого, можно попробовать для текстов способ масштабирования, приведенный в справке https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus для размеров прямоугольных окон, "Пример вычисления коэффициента масштабирования:".
- www.mql5.com
Бороться? Это же количество точек на дюйм - (Dots Per Inch)
Как ни меняй разрешение экрана - количество пикселей по ширине и высоте, DPI останется тем же
Ну если только монитор себе другой возьмёшь...
Есть ли формула по которой можно просчитать размеры изображений в зависимости от разрешения dpi ?
Как ни странно - пример приведен в справке https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus
- www.mql5.com
Как ни странно - пример приведен в справке https://www.mql5.com/ru/docs/constants/environment_state/terminalstatus
Мой экран 1920 * 1080 разрешение
Print(" Rezult "+TerminalInfoInteger(TERMINAL_SCREEN_DPI));
показывает 96 что это такое и от чего оно зависит ?
Пробовал уменьшить разрешение, пробовал увеличить все равно 96.
Знаю что не экранах с большим разрешением обьекты типа кнопки тексты могут отображаться не верно
Как с этим бороться ?
А у Вас что, кнопки рисуются из bmp-файлов?
Но если кнопки рисовать через CCanvas, то размер шрифта в зависимости от размера кнопки можно автоматически настраивать с помощью функции TextWidth
Знание этого параметра позволяет задавать размеры графических объектов таким образом, чтобы они выглядели одинаково на мониторах с различной разрешающей способностью.
а пример использования есть?
Приветствую, вот цитата из справки
а пример использования есть?
я вот тоже только сейчас прочитал о такой функции, в рабочее время попробую это использовать.
Влияет ли масштаб шрифта в настройках ОС на этот параметр? часто многие пользуются масштабированием шрифта - и панели выглядят коряво
Канва не работает в тестере...
не работает именно класс CCanvas?
все функции рисования работают без проблем
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Мой экран 1920 * 1080 разрешение
Print(" Rezult "+TerminalInfoInteger(TERMINAL_SCREEN_DPI));
показывает 96 что это такое и от чего оно зависит ?
Пробовал уменьшить разрешение, пробовал увеличить все равно 96.
Знаю что не экранах с большим разрешением обьекты типа кнопки тексты могут отображаться не верно
Как с этим бороться ?