Нужна ли возможность настраивать контекстное меню графика? - страница 4

 
Tapochun:
Ок, вот я предлагаю что-то. Кто решит нужно ли это включить или не нужно? Ведь это, как мне намекали в сервисдеске, возможно, нужно только мне одному. Было бы хорошо, если бы MQ где-то публиковали, что-ли, ближайшие планы по улучшениям/модернизации терминала. А, если это коммерческая тайна, хотя бы давали список того, над чем они думают включать/не включать. Т.е. что-то типа, семь раз отметь, один раз отрежь в содружестве с непосредственными пользователями.
Более открытые компании, выпускающие в частности средства коллективной разработки софта, в них же публикуют заявки пользователей для своего софта и позволяют за них голосовать. Затем по результатам голосований создается роадмап на следующие релизы. У MQ есть своя похожая система - TeamWox - куда мы и пишем заявки СД, но система по сути закрыта. Зарегистрированный в коммьюнити пользователь не может увидеть, какие уже есть заявки, насколько они совпадают с тем, что он сам пишет, и за что стоило бы проголосовать, и уж точно не видит роадмап.
 
marketeer:
Более открытые компании, выпускающие в частности средства коллективной разработки софта, в них же публикуют заявки пользователей для своего софта и позволяют за них голосовать. Затем по результатам голосований создается роадмап на следующие релизы. У MQ есть своя похожая система - TeamWox - куда мы и пишем заявки СД, но система по сути закрыта. Зарегистрированный в коммьюнити пользователь не может увидеть, какие уже есть заявки, насколько они совпадают с тем, что он сам пишет, и за что стоило бы проголосовать, и уж точно не видит роадмап.
Жаль.. надо написать в сервисдеск по улучшению сервисдеска)
 
artmedia70:
Не... не угадал. Банально - пылесос ;))

У меня вот такой пылесос есть. Волшебный. ;)


 
Залипуха.
 

И ещё есть одна идея по развитию контекстного меню

Она заключается в том, чтобы дать возможность создавать свои контекстные меню средствами MQL. Чтобы не ломать то, что есть, достаточно дать доступ к пользовательскому контекстному меню из MQL при зажатых клавишах Shift, Ctrl или Alt.

 

Кстати, возможно мало кто об этом знает, но узнать зажаты ли некоторые клавиши средствами MQL (кроме левой кнопки мыши) уже можно.

Это мне в Сервисдеске подсказали:

Support Team 2014.10.15 09:19 

В CHARTEVENT_MOUSE_MOVE в качестве 3-го параметра приходит битовая маска состояний клавиш:
бит 
значение 
 1
 Состояние левой клавиши мыши
 2 Для MQL программ всегда ноль
 3 Состояние клавиши SHIFT
 4 Состояние клавиши CTRL
 5 Состояние средней клавиши мыши
 6 Состояние 1 доп клавиши мыши
 7 Состояние 2 доп клавиши мыши
В принципе, это можно использовать для отслеживания состояний клавиш CTRL и SHIFT. Пример:
void OnInit()
  {
   ChartSetInteger(0,CHART_EVENT_MOUSE_MOVE,1);   
  }
//---
string MouseState(uint state)
  {
   string res;
   //---
   res+="\nML: "   +(((state& 1)== 1)?"DN":"UP");   // mouse left
   res+="\nMR: "   +(((state& 2)== 2)?"DN":"UP");   // mouse right (always zero)
   res+="\nMM: "   +(((state&16)==16)?"DN":"UP");   // mouse middle
   res+="\nMX: "   +(((state&32)==32)?"DN":"UP");   // mouse first X key
   res+="\nMY: "   +(((state&64)==64)?"DN":"UP");   // mouse second X key
   res+="\nSHIFT: "+(((state& 4)== 4)?"DN":"UP");   // shift key
   res+="\nCTRL: " +(((state& 8)== 8)?"DN":"UP");   // control key
   //---
   return(res);
  }
//---
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam)
  {
   if(id==CHARTEVENT_MOUSE_MOVE)
      Comment("POINT: ",(int)lparam,",",(int)dparam,"\n",MouseState((uint)sparam));
  }
 

Уже давно об этом думаю, но все ни как не хотел писать в сервис деск

Разработчики мт4/5 дайте возможность настраивать контекстное меню согласно желаниям трейдеров а так же назначать горячи клавиши . 

 

Мне кажется, достаточно не отображать контекстное меню при обработке нажатия правой кнопки из кода на MQL.

Т.е. если событие перехвачено, то меню показывать не надо.

А код, который его перехватил, должен сам нарисовать меню с нужными пунктами.

Как хром в своих гугл-доках сделал - кнопка правая, а меню свое (раньше когда-то 2 меню сразу показывалось, и свое и стандартное, потом починили).

 
komposter:

Мне кажется, достаточно не отображать контекстное меню при обработке нажатия правой кнопки из кода на MQL.

Т.е. если событие перехвачено, то меню показывать не надо.

А код, который его перехватил, должен сам нарисовать меню с нужными пунктами.

Как хром в своих гугл-доках сделал - кнопка правая, а меню свое (раньше когда-то 2 меню сразу показывалось, и свое и стандартное, потом починили).

Например, вот такой вариант мог бы быть. Определяем, что правая кнопка мыши была нажата и если нужно, отключаем контекстное меню графика:

ChartSetInteger(0,CHART_EVENT_CONTEXT_MENU,false);

Также можно в комбинации с клавишами Ctrl или Shift. Тогда можно реализовать вариант, когда будет доступно и контекстное меню по умолчанию. P.S. >>> Ведь найдётся много пользователей, которым оно тоже нужно.

 
VOLDEMAR:

Уже давно об этом думаю, но все ни как не хотел писать в сервис деск

Разработчики мт4/5 дайте возможность настраивать контекстное меню согласно желаниям трейдеров а так же назначать горячи клавиши

А вариант с CHARTEVENT_KEYDOWN не подходит?
Причина обращения: