Как сделать размер текста в пикселях?

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Как сделать размер текста в пикселях?

Сообщение lisa » 10 июн 2019, 12:45

Подскажите как сделать размер текста, в пикселях?
Чтобы размер текста на графике, не менялся от настроек размера текста на компе.

Test.MQ4
(864 байт) Скачиваний: 94
Аватар пользователя
lisa
 
Сообщений: 77
Зарегистрирован: 05 ноя 2014, 09:37
Средств на руках: 4.50 Доллар
Группа: Базовая
Благодарил (а): 54 раз.
Поблагодарили: 3 раз.

Как сделать размер текста в пикселях?

Сообщение Haos » 10 июн 2019, 13:14

lisa писал(а):Подскажите как сделать размер текста, в пикселях?
Чтобы размер текста на графике, не менялся от настроек размера текста на компе.

Если я правильно понял, в чем проблема, то Вы можете вынести размер шрифта в графическом элементе в настройки (индикатора / советника). Аналогично и с другим большинством свойств.
Посмотрите тему Как установить текстовую метку, там на примере всё хорошо показано.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Как сделать размер текста в пикселях?

Сообщение lisa » 10 июн 2019, 14:21

Haos писал(а):
lisa писал(а):Подскажите как сделать размер текста, в пикселях?
Чтобы размер текста на графике, не менялся от настроек размера текста на компе.

Если я правильно понял, в чем проблема, то Вы можете вынести размер шрифта в графическом элементе в настройки (индикатора / советника). Аналогично и с другим большинством свойств.
Посмотрите тему Как установить текстовую метку, там на примере всё хорошо показано.


Там такая же проблема.
Размер текста на графике, меняется в зависимости от настроек текста на компе.

Для примера можно взять объект "кнопка", размеры самой кнопки выставляются в пикселях, и размер этой кнопки не зависит от настройки текста на компе.

И выставим размер шрифта текста, этой же кнопке.
И получается что размеры кнопки, не меняются от настроек компа,
а размер текста этой же кнопки, зависит от настроек компа.

В итоге, от настроек компа, зависит, будет сам текст влазить в эту кнопку, или нет.
Кнопка будет всегда одиковая, а текст этой кнопки, может быть сильно мелкий, или сильно большой, что просто не влезит в кнопку.

Получается что у кнопки, и у текста этой кнопки, разные единици измерения.
А хотелось бы чтобы текст всегда был пропорционален кнопке.
Последний раз редактировалось lisa 10 июн 2019, 14:22, всего редактировалось 1 раз.
Аватар пользователя
lisa
 
Сообщений: 77
Зарегистрирован: 05 ноя 2014, 09:37
Средств на руках: 4.50 Доллар
Группа: Базовая
Благодарил (а): 54 раз.
Поблагодарили: 3 раз.

Как сделать размер текста в пикселях?

Сообщение Quannt » 10 июн 2019, 21:07

Простое, универсальное решение кнопочных проблем, и не только.
Например. Указываем на кнопке её номер 5. Создаём текстовый документ с описанием назначения кнопки 5. Аналогично нумеруем остальные кнопки (объекты ) и описываем в документе их назначения. Количество нумерованных объектов на графике может быть, при таком решении, достигать 30.
Последний раз редактировалось Haos 10 июн 2019, 21:42, всего редактировалось 1 раз.
Причина: .
Аватар пользователя
Quannt
 
Сообщений: 1122
Зарегистрирован: 30 ноя 2017, 20:36
Средств на руках: 288.40 Доллар
Награды: 1
Ветеран I (1)
Группа: Базовая
Благодарил (а): 321 раз.
Поблагодарили: 184 раз.

Как сделать размер текста в пикселях?

Сообщение lisa » 10 июн 2019, 21:19

Quannt писал(а):Простое, универсальное решение кнопочных проблем, и не только.
Например. Указываем на кнопке её номер 5. Создаём текстовый документ с описанием назначения кнопки 5. Аналогично нумеруем остальные кнопки (объекты ) и описываем в документе их назначения. Количество нумерованных объектов на графике может быть, при таком решении, достигать 30.


А как это повлияет на размер текста, на самой кнопке?
Последний раз редактировалось Haos 10 июн 2019, 21:44, всего редактировалось 1 раз.
Причина: .
Аватар пользователя
lisa
 
Сообщений: 77
Зарегистрирован: 05 ноя 2014, 09:37
Средств на руках: 4.50 Доллар
Группа: Базовая
Благодарил (а): 54 раз.
Поблагодарили: 3 раз.

Как сделать размер текста в пикселях?

Сообщение Quannt » 10 июн 2019, 21:57

Влияние исключено, поскольку номер кнопки одно, или трёхзначный, Например: кнопка 999. Не стоит всё усложнять, в том числе трейдинг. Чем меньше объектов на графике, тем проще принимать торговые решения.Тем эффективнее становиться торговля.
Последний раз редактировалось Haos 11 июн 2019, 08:21, всего редактировалось 1 раз.
Причина: .
Аватар пользователя
Quannt
 
Сообщений: 1122
Зарегистрирован: 30 ноя 2017, 20:36
Средств на руках: 288.40 Доллар
Награды: 1
Ветеран I (1)
Группа: Базовая
Благодарил (а): 321 раз.
Поблагодарили: 184 раз.

Как сделать размер текста в пикселях?

Сообщение lisa » 11 июн 2019, 07:27

Quannt писал(а):Влияние исключено, поскольку номер кнопки одно, или трёхзначный, Например: кнопка 999. Не стоит всё усложнять, в том числе трейдинг. Чем меньше объектов на графике, тем проще принимать торговые решения.Тем эффективнее становиться торговля.


Количество символов, в кнопке, не влияет на размер самих символов.

Вопрос в том, как сдалеть символы фиксированного размера, чтобы их размер не менялся от настроек текста на компе.

Размеры самой кнопки, определяются в пикселях (при любых настройках компа, кнопка будет всегда одинакового размера)

А размеры текста, определяются в логических единицах (не в пикселях), поэтому размер текста зависит от настроек компа, при одних настройках текст будет совсем мелки, при других настройках, будет сильно крупный, что просто не влезет в кнопку.



Вот цитата с mql4.com по TextSetFont:
size

[in] Размер шрифта, который может задаваться положительными и отрицательными значениями. При положительных значениях размер выводимого текста не зависит от настроек размеров шрифтов в операционной системе. При отрицательных значениях значение задается в десятых долях пункта и размер текста будет зависеть от настроек системы ("стандартный масштаб" или "крупный масштаб"). Более подробно о разнице в режимах смотрите в Примечании.


Размер шрифта задается положительными или отрицательными значениями, знак определяет зависимость размера текста от настроек операционной системы (масштаба шрифта).

Если размер задается положительным числом, то при отображении логического шрифта в физический происходит преобразование размера в физические единицы измерения устройства (пиксели) и этот размер соответствует высоте ячеек символов из доступных шрифтов. Не рекомендуется в тех случаях, когда предполагается совместное использование на графике текстов, выведенных функцией TextOut(), и текстов, отображаемых с помощью графического объекта OBJ_LABEL ("Текстовая метка").
Если размер задается отрицательным числом, то указанный размер предполагается заданным в десятых долях логического пункта (значение -350 равно 35 логических пунктов) и делится на 10, а затем полученное значение преобразуется в физические единицы измерения устройства (пиксели) и соответствует абсолютному значению высоты символа из доступных шрифтов. Чтобы получить на экране текст такого же размера, как и в объекте OBJ_LABEL, возьмите указанный в свойствах объекта размер шрифта и умножьте на -10.



Смысл цитаты, что нельзя совместно применять настройки "пиксели" и "размер текста".
(хотя в объекте "кнопка", именно это и происходит)

Вот и хотелось бы как то, чтобы текст всегда был пропорционален самой кнопке.
Поэтому и сам вопрос темы: как задать размер текста в пикселях?
Последний раз редактировалось lisa 11 июн 2019, 07:55, всего редактировалось 1 раз.
Аватар пользователя
lisa
 
Сообщений: 77
Зарегистрирован: 05 ноя 2014, 09:37
Средств на руках: 4.50 Доллар
Группа: Базовая
Благодарил (а): 54 раз.
Поблагодарили: 3 раз.

Как сделать размер текста в пикселях?

Сообщение Haos » 11 июн 2019, 08:21

Quannt, прекращайте не по теме писать! Этот раздел не для досужих рассуждений.
lisa, если ответа нет, значит никто даже не сталкивался проблемой, описанной Вами. К примеру, меня всё устраивает при выведении размера шрифта в настройки. Шрифты же ОС к разделу никак не относятся, каждый сам волен менять системные шрифты как ему заблагорассудится. Или Вы о другом? Хотя бы скрин привели Вашей проблемы.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Как сделать размер текста в пикселях?

Сообщение Kalkin » 12 июн 2019, 07:31

Да, задачка интересная, так с наскоку не возьмешь. Я бы поискал ответ в следующем направлении: можно получить пользовательский DPI через API, из него выяснить примененный масштаб шрифта в системе, вычислить коэффициент и применить этот коэффициент к шрифту метки.
Но для повседневных задач лучше размер вывести в настройки и не заморачиваться.
Аватар пользователя
Kalkin
 
Сообщений: 1589
Зарегистрирован: 05 мар 2015, 06:51
Средств на руках: 108.80 Доллар
Награды: 2
Ветеран I (1) Медаль за научный вклад (1)
Группа: Базовая
Благодарил (а): 633 раз.
Поблагодарили: 1190 раз.
Ace Register Votive


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 71

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron