Как сделать собственный графический объект "непрозрачным" для двойного клика мыши?

 
Достаточно быстрое многократное нажатие на мышь платформами МТ4 и МТ5 это воспринимается как двойной щелчок мыши. Если под собственным объектом, по которому мы "молотим" мышью, находится какой-нибудь системный объект (например, линия индикатора), то это часто вызывает появление окон, которые не позволяют дальнейшее щелканье мышью по собственному объекту. Как блокировать появление таких окон?
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
Документация по MQL5: Константы, перечисления и структуры / Константы индикаторов / Линии индикаторов
  • www.mql5.com
Некоторые технические индикаторы имеют несколько отрисовываемых на графике буферов. Нумерация индикаторных буферов начинается с 0. При копировании значений индикатора функцией CopyBuffer() в массив типа double для некоторых индикаторов можно указывать не номер копируемого буфера, а идентификатор этого буфера.
 
foxmag:
Достаточно быстрое многократное нажатие на мышь платформами МТ4 и МТ5 это воспринимается как двойной щелчок мыши. Если под собственным объектом, по которому мы "молотим" мышью, находится какой-нибудь системный объект (например, линия индикатора), то это часто вызывает появление окон, которые не позволяют дальнейшее щелканье мышью по собственному объекту. Как блокировать появление таких окон?

Отслеживать выбор элемента, и если выбранный элемент совпадает с именем нужного, то снимать с него выделение, либо второй вариант сразу при создании поставить флаг запрета выбора.

Если же линия относится к буферу индикатора, то не знаю :-( Любопытно какое тут будет решение.

 
Alexandr Gavrilin:

Отслеживать выбор элемента, и если выбранный элемент совпадает с именем нужного, то снимать с него выделение, либо второй вариант сразу при создании поставить флаг запрета выбора.

Если же линия относится к буферу индикатора, то не знаю :-( Любопытно какое тут будет решение.

Контролировать собственные элементы так, как Вы предлагаете, не составляет труда. У меня речь идет о системных (т.е. созданных разработчиками МТ) объектах. Возможность изменения их свойств мне не известна.

 
foxmag:

Контролировать собственные элементы так, как Вы предлагаете, не составляет труда. У меня речь идет о системных (т.е. созданных разработчиками МТ) объектах. Возможность изменения их свойств мне не известна.

Сделайте график снизу (убрать в свойствах графика галку "График сверху").

 

Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
Просмотр и настройка графиков - Графики котировок, технический и фундаментальный анализ - Справка по MetaTrader 5
  • www.metatrader5.com
Графики в торговой платформе отображают изменение котировок финансовых инструментов во времени. Они необходимы для проведения технического анализа и работы советников. Они позволяют трейдерам наглядно следить за котировками валют и акций в режиме реального времени и моментально реагировать на любое изменение ситуации на финансовых рынках...
 
Ihor Herasko:

Сделайте график снизу (убрать в свойствах графика галку "График сверху").

 

Мой график всегда снизу, галка убрана. Но это не касается всего остального, находящегося в нулевом окне, например, индикаторов (средних и пр.), а у них "волшебных" галок, увы, нет.

 
foxmag:

Мой график всегда снизу, галка убрана. Но это не касается всего остального, находящегося в нулевом окне, например, индикаторов (средних и пр.), а у них "волшебных" галок, увы, нет.

Покажите свою проблему. Без воспроизведения здесь будут только гадать.

 
Ihor Herasko:

Покажите свою проблему. Без воспроизведения здесь будут только гадать.

Пожалуйста...


 
foxmag:

Пожалуйста...


Стрелка, на которую нажимаете, каким объектом представлена: OBJ_TEXT, OBJ_LABEL или что-то другое?

Какой тип отрисовки буфера индикатора mag_DON: DRAW_LINE?

Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
Документация по MQL5: Константы, перечисления и структуры / Константы объектов / Типы объектов
  • www.mql5.com
При создании графического объекта функцией ObjectCreate() необходимо указать тип создаваемого объекта, который может принимать одно из значений перечисления ENUM_OBJECT. Дальнейшие уточнения свойств созданного объекта возможно с помощью функций по работе с графическими объектами.
 
Ihor Herasko:

Стрелка, на которую нажимаете, каким объектом представлена: OBJ_TEXT, OBJ_LABEL или что-то другое?

Какой тип отрисовки буфера индикатора mag_DON: DRAW_LINE?

OBJ_LABEL

DRAW_LINE

Что еще важно добавить (я еще раз посмотрел внимательно Ваше видео), у меня все рукотворные графические объекты снабжены свойством невыделяемости :

ObjectSetInteger(0,object,OBJPROP_SELECTABLE,false);
Так что первым на очереди является объект, находящийся прямо под моим. Так как же отключить его реакцию на двойной щелчок? Самое простое, если бы у него было такое настраиваемое пользователем свойство. Но мне не известно, есть ли оно. Ведь если бы была возможность отключать появление с помощью двойного щелчка окон объектов (в этих окнах опции свойств этих объектов), то эти свойства объектов все равно остались бы доступны при использовании правой кнопки мыши - попробуйте...
 
foxmag:

OBJ_LABEL

DRAW_LINE

Что еще важно добавить (я еще раз посмотрел внимательно Ваше видео), у меня все рукотворные графические объекты снабжены свойством невыделяемости :

Так что первым на очереди является объект, находящийся прямо под моим. Так как же отключить его реакцию на двойной щелчок? Самое простое, если бы у него было такое настраиваемое пользователем свойство. Но мне не известно, есть ли оно. Ведь если бы была возможность отключать появление с помощью двойного щелчка окон объектов (в этих окнах опции свойств этих объектов), то эти свойства объектов все равно остались бы доступны при использовании правой кнопки мыши - попробуйте...

Попробуйте на момент клика сделать объект видимым, чтобы он был первым в очереди. Сейчас, пока ваши объекты невидимы, клик направляется на объекты на заднем фоне. 

 
foxmag:
Достаточно быстрое многократное нажатие на мышь платформами МТ4 и МТ5 это воспринимается как двойной щелчок мыши. Если под собственным объектом, по которому мы "молотим" мышью, находится какой-нибудь системный объект (например, линия индикатора), то это часто вызывает появление окон, которые не позволяют дальнейшее щелканье мышью по собственному объекту. Как блокировать появление таких окон?

В МТ5 можно блокировать появление штатного меню при нажатии на правую кнопку мышки. Попробуйте нажимать правой кнопкой на ваши объекты, предварительно отключая штатное меню, когда курсор находится над площадью вашего объекта. Потом, включайте обратно.