чтобы найти ширину текста, нужно умножить размер
шрифта на -10
вы проверяли тот код который вы предложили? сверху моя картинка - измерьте ширину и высоту надписи, и сравните с тем, что
показывает ваш скрипт.
Подтверждаю, при умножении размера шрифта на -10, скрипт предложенный Igor Zakharov начинает выдавать корректные
размеры для OBJ_LABEL. Без этого умножения результаты выдавались неверные.
Тестировал с различными шрифтами и различными размерами. Пиксельные замеры делал в фотошопе при помощи линейки.
Подтверждаю, при умножении размера шрифта на -10, скрипт предложенный Igor Zakharov начинает выдавать
корректные размеры для OBJ_LABEL. Без этого умножения результаты выдавались неверные.
Тестировал с различными шрифтами и различными размерами. Пиксельные замеры делал в фотошопе при помощи линейки.
Спасибо ребята!
А проверить свойство OBJ_LABEL не получилось?)))
OBJPROP_XSIZE
Ширина объекта по оси X в пикселях. Задается для объектов OBJ_LABEL
(read-only), OBJ_BUTTON, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL.
Ширина объекта по оси X в пикселях. Задается для объектов OBJ_LABEL (read-only),
OBJ_BUTTON, OBJ_BITMAP, OBJ_BITMAP_LABEL,
OBJ_EDIT, OBJ_RECTANGLE_LABEL.
int
Особо не доводилось этим пользоваться, но когда делаю так:
long x_size,y_size;
if(ObjectFind(Obj_text)!=-1) // Если объект есть
{
x_size=ObjectGetInteger(0,Obj_text,OBJPROP_XSIZE); // Получаем размер объекта в ширину
y_size=ObjectGetInteger(0,Obj_text,OBJPROP_YSIZE); // Получаем размер объекта в высоту
}
Alert("Размер объекта по оси X - ",x_size,"\nРазмер объекта по оси Y - ",y_size);
Получаю почему-то нули... при этом свойство OBJPROP_FONTSIZE например работает корректно. В чем проблема, пока не догадался..
inputstring Text="Some text";
inputint font_size=14;
inputstring font_name="Arial";
//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
string Obj_text="text";
if(ObjectFind(Obj_text)!=-1)
ObjectDelete(Obj_text); // удалять, только если объект существует//---------------------------------------------------------------if(ObjectFind(Obj_text)==-1) // Если объекта нет..
{
ObjectCreate(Obj_text,OBJ_LABEL,0,0,0); // Создаём новый объектObjectSetInteger(0,Obj_text,OBJPROP_CORNER,CORNER_LEFT_UPPER); // Угол привязкиObjectSetInteger(0,Obj_text,OBJPROP_XDISTANCE,200); // Положение объекта Координата ХObjectSetInteger(0,Obj_text,OBJPROP_YDISTANCE,200); // Положение объекта Координата Y
}
ObjectSetText(Obj_text,Text,font_size,font_name,clrWhite); // Текстовое описание объекта//---------------------------------------------------------------long x_size,y_size;
if(ObjectFind(Obj_text)!=-1) // Если объект есть
{
x_size=ObjectGetInteger(0,Obj_text,OBJPROP_XSIZE); // Получаем размер объекта в ширину
y_size=ObjectGetInteger(0,Obj_text,OBJPROP_YSIZE); // Получаем размер объекта в высоту
}
Alert("Размер объекта по оси X - ",x_size,"\nРазмер объекта по оси Y - ",y_size);
}
Обратите внимание на то, что я отвечал только на ваши методы проверки правильности получения ширины лейбла. Вместо фотошопа можно было
использовать свойство OBJPROP_XSIZE
Обратите внимание на то, что я отвечал только на ваши методы проверки правильности получения ширины лейбла. Вместо фотошопа можно было
использовать свойство OBJPROP_XSIZE
Как использовать? Я пробовал, получил нули. На случай, если сделал что-то неправильно и привел код.
А кто пробовал TextGetSize(), он на на запуске в ините нормально работает?
Есть вариант: писать шрифтом фиксированного размера типа Курьер Нью, тогда получится самостоятельно высчитать размер.
чтобы найти ширину текста, нужно умножить размер шрифта на -10
вы проверяли тот код который вы предложили?
сверху моя картинка - измерьте ширину и высоту надписи, и сравните с тем, что показывает ваш скрипт.
Подтверждаю, при умножении размера шрифта на -10, скрипт предложенный Igor Zakharov начинает выдавать корректные размеры для OBJ_LABEL. Без этого умножения результаты выдавались неверные.
Тестировал с различными шрифтами и различными размерами. Пиксельные замеры делал в фотошопе при помощи линейки.
Спасибо ребята!
Подтверждаю, при умножении размера шрифта на -10, скрипт предложенный Igor Zakharov начинает выдавать корректные размеры для OBJ_LABEL. Без этого умножения результаты выдавались неверные.
Тестировал с различными шрифтами и различными размерами. Пиксельные замеры делал в фотошопе при помощи линейки.
Спасибо ребята!
А проверить свойство OBJ_LABEL не получилось?)))
OBJPROP_XSIZE
Ширина объекта по оси X в пикселях. Задается для объектов OBJ_LABEL (read-only), OBJ_BUTTON, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL.
int
А кто пробовал TextGetSize(), он на на запуске в ините нормально работает?
А что может помешать? Ведь это не связано с подгрузкой котировок.
А проверить свойство OBJ_LABEL не получилось?)))
извиняюсь, я всех с истинного пути сбил... я попутал OBJ_LABEL и OBJ_TEXT
А проверить свойство OBJ_LABEL не получилось?)))
OBJPROP_XSIZE
Ширина объекта по оси X в пикселях. Задается для объектов OBJ_LABEL (read-only), OBJ_BUTTON, OBJ_BITMAP, OBJ_BITMAP_LABEL, OBJ_EDIT, OBJ_RECTANGLE_LABEL.
int
Особо не доводилось этим пользоваться, но когда делаю так:
Получаю почему-то нули... при этом свойство OBJPROP_FONTSIZE например работает корректно. В чем проблема, пока не догадался..
Особо не доводилось этим пользоваться, но когда делаю так:
Получаю почему-то нули... при этом свойство OBJPROP_FONTSIZE например работает корректно. В чем проблема, пока не догадался..
Проблема в том, что объекта OBJ_TEXT нет в перечисленных в среднем столбце части таблицы.
Проблема в том, что объекта OBJ_TEXT нет в перечисленных в среднем столбце части таблицы.
Вот полный код:
Я не создавал объект типа OBJ_TEXT
Вот полный код:
Обратите внимание на то, что я отвечал только на ваши методы проверки правильности получения ширины лейбла. Вместо фотошопа можно было использовать свойство OBJPROP_XSIZE
Обратите внимание на то, что я отвечал только на ваши методы проверки правильности получения ширины лейбла. Вместо фотошопа можно было использовать свойство OBJPROP_XSIZE