Способы привязки объектов
Графические объекты Text, Label, Bitmap и Bitmap Label (OBJ_TEXT, OBJ_LABEL, OBJ_BITMAP и OBJ_BITMAP_LABEL) могут иметь один из 9 различных способов привязки своих координат, задаваемых свойством OBJPROP_ANCHOR.
Объект | Идентификатор | X/Y | Width/Height | Date/Price | |||
|---|---|---|---|---|---|---|---|
Text | — | — | Да | — | Да | Да | |
Label | Да | Да (только для чтения) | — | Да | Да | Да | |
Button | Да | Да | — | Да | — | — | |
Bitmap | — | Да (только для чтения) | Да | — | Да | — | |
Bitmap Label | Да | Да (только для чтения) | — | Да | Да | — | |
Edit | Да | Да | — | Да | — | — | |
Rectangle Label | Да | Да | — | Да | — | — |
В таблице использованы следующие обозначения:
- X/Y – координаты точки привязки задаются в пикселях относительно одного из углов графика;
- Width/Height – объекты имеет ширину и высоту. Если указано "только для чтения", то это означает, что значения ширины и высоты вычисляются только после отрисовки объекта на графике;
- Date/Price – координаты точки привязки задаются парой дата/цена;
- OBJPROP_CORNER – задаёт угол графика, относительно которого указываются координаты точки привязки. Может быть одним из 4-х значений перечисления ENUM_BASE_CORNER;
- OBJPROP_ANCHOR – задаёт положение точки привязки в самом объекте, и может быть одним из 9-ти значений перечисления ENUM_ANCHOR_POINT. Именно от этой точки до выбранного угла графика указываются координаты в пикселях;
- OBJPROP_ANGLE – задаёт угол поворота объекта против часовой стрелки.
Указать нужный вариант можно с помощью функции ObjectSetInteger(handle_графика, имя_объекта, OBJPROP_ANCHOR, способ_привязки), где способ_привязки - одно из значений перечисления ENUM_ANCHOR_POINT.
Идентификатор | Описание |
|---|---|
ANCHOR_LEFT_UPPER | Точка привязки в левом верхнем углу |
ANCHOR_LEFT | Точка привязки слева по центру |
ANCHOR_LEFT_LOWER | Точка привязки в левом нижнем углу |
ANCHOR_LOWER | Точка привязки снизу по центру |
ANCHOR_RIGHT_LOWER | Точка привязки в правом нижнем углу |
ANCHOR_RIGHT | Точка привязки справа по центру |
ANCHOR_RIGHT_UPPER | Точка привязки в правом верхнем углу |
ANCHOR_UPPER | Точка привязки сверху по центру |
ANCHOR_CENTER | Точка привязки строго по центру объекта |
Объекты OBJ_BUTTON, OBJ_RECTANGLE_LABEL, OBJ_EDIT и OBJ_CHART имеют фиксированную точку привязки в левом верхнем углу (ANCHOR_LEFT_UPPER).
Пример:
string text_name="my_OBJ_TEXT_object"; |
Графические объекты Arrow (OBJ_ARROW) имеют только 2 способа привязки своих координат. Идентификаторы перечислены в ENUM_ARROW_ANCHOR.
Идентификатор | Описание |
|---|---|
ANCHOR_TOP | Точка привязки для стрелки находится сверху |
ANCHOR_BOTTOM | Точка привязки для стрелки находится внизу |
Пример:
void OnStart() |
После выполнения скрипта график будет выглядеть примерно как на этом рисунке.
