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

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

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

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

foxmag
742
foxmag  
Alexandr Gavrilin:

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

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

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

Ihor Herasko
21908
Ihor Herasko  
foxmag:

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

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

 

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

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

 

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

Ihor Herasko
21908
Ihor Herasko  
foxmag:

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

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

foxmag
742
foxmag  
Ihor Herasko:

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

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


Ihor Herasko
21908
Ihor Herasko  
foxmag:

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


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

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

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

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

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

OBJ_LABEL

DRAW_LINE

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

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

OBJ_LABEL

DRAW_LINE

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

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

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

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

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий