Как сделать собственный графический объект "непрозрачным" для двойного клика мыши? - страница 3
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
1. Есть мой собственный графический объект OBJ_LABEL с именем my_object, обладающий свойством невыделяемости:
2. Под ним находится линия какого-нибудь индикатора, например, простая средняя (все равно, что именно)
3. Я делаю два последовательных клика мышью по моему объекту my_object с промежутком между ними менее 500 миллисекунд (например, чтобы нарастить на 2 значение некоторой переменной, что управляется как раз нажатием на my_object). При этом нижняя линия воспринимает два моих клика как двойной клик и открывает окно со свойствами линии, что мне совсем не нужно и что делает невозможным дальнейшее кликанье по моему объекту. Я вынужден закрывать появившееся окно, а потом кликать по моему объекту нужное мне количество раз, соблюдая между кликаньями необходимый временной интервал не менее 500 миллисекунд (т.е. сравнительно медленно), чтобы не допустить двойной щелчок, который опять откроет окно со свойствами линии, находящейся под моим объектом my_object.
Посмотрите мое видео на стр. 1, надеюсь, поможет. Мой вопрос собственно состоял в том, не пропустил ли я чего у разработчиков МТ. Вдруг они уже защитили пользовательские графические объекты от сквозного кликанья, чтобы все, что находится под ними, не реагировало на щелканье мышью.
На момент наведения курсора на ваш объект, ставьте:
В момент ухода с вашего объекта, ставьте:
Вопрос решен.
Вряд ли можно считать Ваши оба предложения желанными решениями проблемы. поскольку уже существующее решение - нажимать на мышь достаточно редко, чтобы не вызывать двойной щелчок - по моему мнению, лучше. И все же спасибо за участие.
Я намекнул, что есть и другие события мышки, которые можно использовать для взаимодействия с объектами. Не только клик, но и кастомный дабл-клик (как Вы используете) и клик правой кнопкой мышки с предварительной дизактивацией штатного меню.
Есть также свойство
OBJPROP_SELECTED
которым можно убирать ненужную выделенность объекта.
Также, можно пользоваться этими функциями:
Первая включает/отключает перемещение торговых уровней.
Вторая включает/отключает всплывающие подсказки объектов.
Для правильного использования нужно определять текущую область курсора и включать/отключать эти опции при пересечении польз.объектов.
На момент наведения курсора на ваш объект, ставьте:
В момент ухода с вашего объекта, ставьте:
Вопрос решен.
Не, Peter там совсем другая проблема. Объект по которому надо тыкать работает как инкремент, а под него может попасть другой объект или отображение индикатора. Вот свойства ненужного объекта или индикатора и отображаются.
Ок. А почему OBJPROP_ZORDER не помогает?
Давно не работал с МТ-объектами и не помню всех нюансов.
Ок. А почему OBJPROP_ZORDER не помогает?
Давно не работал с МТ-объектами и не помню всех нюансов.
Я с этим вообще не связывался. Ну, как минимум к индикатору это никак не прицепить.
Ок. А почему OBJPROP_ZORDER не помогает?
Давно не работал с МТ-объектами и не помню всех нюансов.
Вообще, странно. Если расположить простую МТ-шную кнопку на графике и нажимать ее, объекты на заднем фоне будут реагировать?? Тут, что то не так...
Я столько работаю с канвасом, что МТ-объекты вообще вылетили из головы...
Вообще, странно. Если расположить простую МТ-шную кнопку на графике и нажимать ее, объекты на заднем фоне будут реагировать??
Будут реагировать в моем случае, т.к мой объект НЕВЫДЕЛЯЕМ. И первый на реагирование на очереди ровнехонько под ним.