Можно ли определить длину строки OBJ_LABEL в пикселях?

 

Есть условная задача:

На график нужно вывести два объекта типа OBJ_LABEL в одну строку друг за другом. При этом до самого момента срабатывания кода мы не знаем какую именно информацию будут выводить эти объекты.

Например в одну строку надо вывести AccountInfoString(ACCOUNT_COMPANY) и AccountInfoString(ACCOUNT_SERVER) и каждое название должно поддерживать свое собственное форматирование (цвет, размер букв итп). То есть вывод этих данных в одной переменной и в одном объекте не подходит.

Учитывая, что мы не знаем длину названия компании (первый объект), как разместить название сервера (второй объект), чтобы оба объекта не наложились бы вдруг друг на друга (если название компании окажется слишком длинным) или не оказались бы слишком далеко друг от друга (если название компании окажется слишком коротким)?

Я это вижу так, что для того чтобы найти координаты для второго объекта, нужно сначала вычислить где заканчивается первый. И вот как это сделать?

 p.s. Повторюсь задача условная! Интересует сама возможность динамического связывания расположения объектов между собой.

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
https://www.mql5.com/ru/forum/6343/page1150#comment_14008242
Вопросы от начинающих MQL5 MT5 MetaTrader 5
Вопросы от начинающих MQL5 MT5 MetaTrader 5
  • 2019.11.25
  • www.mql5.com
Подскажите пожалуйста, такой показатель тестера в жизни реален? И хороший это или плохой результат за год с депо 3000...
 
Igor Zakharov:
https://www.mql5.com/ru/forum/6343/page1150#comment_14008242

это для канваса

пс. хотя в справке есть примечание:

Чтобы получить на экране текст такого же размера, как и в объекте OBJ_LABEL, возьмите указанный в свойствах объекта размер шрифта и умножьте на -10.

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
Taras Slobodyanik:

это для канваса

Прочтите с начала этой страницы.

 
Alexey Viktorov:

Прочтите с начала этой страницы.

в справке написано нужно умножать на -10, не вижу этого на той странице

 
Taras Slobodyanik:

в справке написано нужно умножать на -10, не вижу этого на той странице

А функцию и проверочный скрипт видите?

 
Alexey Viktorov:

А функцию и проверочный скрипт видите?

проверил, показывает неправильно для OBJ_LABEL

11
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
Taras Slobodyanik:

в справке написано нужно умножать на -10, не вижу этого на той странице

это про высоту

 
Igor Zakharov:

это про высоту

это про размер шрифта

 
Taras Slobodyanik:

это про размер шрифта

размер шрифта = высота в пикселях. топикстартеру нужна ширина теста.

 
Igor Zakharov:

размер шрифта = высота в пикселях. топикстартеру нужна ширина теста.

чтобы найти ширину текста, нужно умножить размер шрифта на -10

вы проверяли тот код который вы предложили?
сверху моя картинка - измерьте ширину и высоту надписи, и сравните с тем, что показывает ваш скрипт.

Причина обращения: