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

 

Добрый день!

В новом метатрейдере появился новый графический объект OBJ_RECTANGLE_LABEL,
соответственно появилась мысль заменить фон в инфоокне советника с символьного на этот новый объект,
но столкнулся с тем, что функция TextGetSize выдает полное фуфло, а не габариты строки в пикселях
(естественно вначале вызываем TextSetFont)

Попытка ставить зависимость от кегля шрифта (даже известного и моноширинного) не привела к успеху,
так как на современных мониторах все чаще шрифты масштабируются произвольным способом.

Есть ли какой нибудь способ понять, какие размеры в пикселях будут у объекта OBJ_LABEL

P.S. ObjectGetInteger(0, name, OBJPROP_XSIZE) с готового объекта выдает 0, т.е. тоже не работает

 

Неправльные у вас желания:)

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

 
Aleksei Radchenko:

Добрый день!

В новом метатрейдере появился новый графический объект OBJ_RECTANGLE_LABEL,
соответственно появилась мысль заменить фон в инфоокне советника с символьного на этот новый объект,
но столкнулся с тем, что функция TextGetSize выдает полное фуфло, а не габариты строки в пикселях
(естественно вначале вызываем TextSetFont)

Попытка ставить зависимость от кегля шрифта (даже известного и моноширинного) не привела к успеху,
так как на современных мониторах все чаще шрифты масштабируются произвольным способом.

Есть ли какой нибудь способ понять, какие размеры в пикселях будут у объекта OBJ_LABEL

P.S. ObjectGetInteger(0, name, OBJPROP_XSIZE) с готового объекта выдает 0, т.е. тоже не работает

Добрый день! )

Вам удалось, в итоге, решить задачу?

 
Пост 14-го года.)))) Все давно работает.
Причина обращения: