Сервис - Объекты - Примагничивание
Уменьшить значение
Привет всем!
Есть пользовательский интерфейс индикатора, состоящий из нескольких кнопок, висящих поверх основного графика.
Попробуйте добавить приоритет кнопкам.
ObjectSetInteger(0, name, OBJPROP_ZORDER, 1);
Спасибо за идеи!
Вот что получается:
1. На кнопках у меня давно стоит ZORDER = 100
2. Любой создаваемый графический объект имеет ZORDER = 0, что является более низким приоритетом, как я понял из документации.
3. На обработку события "CHARTEVENT_OBJECT_CLICK" я поставил такую команду:
Print("Object clicked: " + sparam + " | ZORDER = " + ObjectGetInteger(0,sparam,OBJPROP_ZORDER));
4. Нажимаю на кнопку 1 раз (рядом есть линия). Результат в логе:
2021.11.07 08:34:59.262 ... Object clicked: CustomColor_Button2_1 | ZORDER = 100
И ВСЕ! То есть клик получила ТОЛЬКО кнопка! Но не линия. Линия при этом перекрасилась! То есть ZORDER работает правильно.
Вопрос: каким образом линия всё же выделилась до того, как кнопка получила клик?..
Есть ли идеи?
P.S. Поправка! Эта проблема есть только в MQL4. В MQL5 работает правильно (соседняя линия не выделяется и не перекрашивается)! Мне теперь как-то перенести этот топик в MQL4-форум?

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Привет всем!
Есть пользовательский интерфейс индикатора, состоящий из нескольких кнопок, висящих поверх основного графика.
У меня включена опция в MetaTrader "Выделять объект по одиночному клику" - очень удобно, так как работаю со множеством графических построений. Не могу от этого отказаться.
При нажатии на кнопку интерфейса, если по-близости находится, например, линия, эта линия выделяется тем же самым кликом. А некоторые кнопки изменяют цвет линий. Так что получается, что хочу изменить одну линию, я меняется ещё одна - случайно-выделенная...
Подскажите, плз, как это можно решить?
1) Перехватить клик в коде и отменить выделение? Если такое возможно, то как?
2) При mouse-over над областью интерфейса, принимать клик только по кнопкам. Как это можно реализовать?
3) ... другие идеи?
Заранее спасибо!