Объекты с привязкой к экранным координатам

В следующей таблице приведены названия и ENUM_OBJECT-идентификаторы объектов с привязкой к экранным координатам. Практически все они, за исключение объекта-графика, предназначены для создания пользовательского интерфейса программ. В частности, здесь есть такие базовые элементы управления как кнопка и поле ввода, а также надписи и панели для визуальной группировки объектов. На их основе можно создавать более сложные элементы управления (например, выпадающие списки или флажки-переключатели). Вместе с терминалом в виде набора заголовочных файлов поставляется библиотека классов с готовыми элементами управления (см. каталог MQL5/Include/Controls).

Идентификатор

Название

Настройка
точки привязки

OBJ_LABEL

Надпись

Да

OBJ_RECTANGLE_LABEL

Прямоугольная панель

 

OBJ_BITMAP_LABEL

Панель с картинкой

Да

OBJ_BUTTON

Кнопка

 

OBJ_EDIT

Поле ввода

 

OBJ_CHART

Объект-график

 

Для всех этих объектов требуется определение угла привязки в окне графика. По умолчанию их координаты задаются относительно верхнего левого угла окна.

В типах из данного списка также используется точка привязки на объекте, причем только одна. В некоторых объектах её можно выбирать, а в некоторых — она жестко задана. Например, прямоугольная панель, кнопка, поле ввода и объект-график всегда привязываются за свой левый верхний угол. А для надписи или панели с картинкой доступно множество вариантов. Выбор осуществляется из перечисления ENUM_ANCHOR_POINT, описанного в разделе Определение точки привязки на объекте.

В интерфейсе MetaTrader 5 объект Надпись (OBJ_LABEL) называется "Текстовая метка", а панель с картинкой (OBJ_BITMAP_LABEL) — "Графическая метка". Учитывая ценовые метки из предыдущего раздела, получается, что термин "метка" используется для объектов с разными способами привязки, разных размеров и назначения.
 
В рамках данной книги мы будем называть метками мелкие знаки и выноски — все они относятся к типам объектов с координатами времени и цены.

Надпись (OBJ_LABEL) обеспечивает вывод текста без возможности его редактирования. Для редактирования используйте поле ввода (OBJ_EDIT).