CHARTEVENT_KEYDOWN

 
Собственно возник вопрос - Как отловить нажатие комбинации клавиш? Например CTRL + C и т.п., используя обработчик OnChartEvent(....)
 

выведите в коментарий sparam и lparam

и посмотрите какие у них значения при нажатии Ctrl 

Событие

Значение параметра id

Значение параметра lparam

Значение параметра dparam

Значение параметра sparam

Событие нажатия клавиатуры

CHARTEVENT_KEYDOWN

Код нажатой клавиши

Количество нажатий клавиши,сгенерированных за время её удержания в нажатом состоянии

Строковое значение битовой маски, описывающее статус кнопок клавиатуры

 
sergeev:

выведите в коментарий sparam и lparam

и посмотрите какие у них значения при нажатии Ctrl 

  Это первое что я сделал,но отлавливается только одна клавиша из комбинации

 спасибо за совет

 
тогда почитайте из winapi GetKeyState
 
sergeev:
тогда почитайте из winapi GetKeyState
Благодарю, я тоже пришел к выводу, что без WinApi здесь не обойтись...
 
Когда держишь кнопку Ctrl, генерируются   CHARTEVENT_KEYDOWN   id= 17, если не отрываясь нажать клавишу 1(к примеру), то появляется значение 49. Вот этот переход с 17 на 49 и надо отловить.
 
В терминал добавлена возможность получения состояния клавиши CTRL, но пока этот функционал не документирован:

bool IsCtrlPressed()
  {
   return((TerminalInfoInteger((ENUM_TERMINAL_INFO_INTEGER)1017)&0x80)!=0);
  }

 
Ilyas:
В терминал добавлена возможность получения состояния клавиши CTRL, но пока этот функционал не документирован:

bool IsCtrlPressed()
  {
   return((TerminalInfoInteger((ENUM_TERMINAL_INFO_INTEGER)1017)&0x80)!=0);
  }

И в MT4 работает. Спасибо, актуальное дополнение
 
Ilyas:
В терминал добавлена возможность получения состояния клавиши CTRL, но пока этот функционал не документирован:

bool IsCtrlPressed()
  {
   return((TerminalInfoInteger((ENUM_TERMINAL_INFO_INTEGER)1017)&0x80)!=0);
  }

А keybd_event случайно не планируется внедрять ?
что бы можно было программно без DLL, переключаться между листами ?

 
Почему при прижатой Ctrl невозможно нажать никакую другую клавишу, а при Caps Lock - можно? Так задумано или только у меня так?
 
Dmitry Fedoseev:
Почему при прижатой Ctrl невозможно нажать никакую другую клавишу, а при Caps Lock - можно? Так задумано или только у меня так?

У капслок нет состояния нажатой, она как нумлок в состоянии Включена Выключена. А Ктрл именно состояние нажатой, как и Альт и Шифт. А вот почему не нажимаются клавиши, не понятно в каком состоянии нажимаете. В терминале, или на сайте. Ктрл R  на сайте работает и Лефт тоже.

Причина обращения: