Ошибки, баги, вопросы - страница 2167

 
Открываешь вставку кода, та что "src" была.
Вставляешь код и хочешь его отформатировать.
Курсор в начало строки, жмешь пять раз Tab, но что-то не то ни чего не происходит, затем Enter и .....
И ты, оказывается, уже опубликовал на сайте кривое, не законченное и вырванное из контекста сообщение.
UX-красота.... одним словом.
 
Alexandr Bryzgalov:

вроде уговорил на Ctrl+F, но блин я их сейчас отловить не могу )
может кто подскажет как отловить сочетание клавиш штатным обработчиком событий?

Раз мое сообщение с обещанием найти старый код удалили - получается что ни чего и не обещал...
Шутка.


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

if (lparam == g_second_key 
    && last_key_code == g_first_key 
    && time - last_time_code < g_time_limit)
{
    run_ind = true;
}

last_key_code = int(lparam);
last_time_code = time;

где:
lparam - код нажатой клавиши в текущем событии;
last_key_code - код нажатой клавиши в предыдущем событии;
g_first_key - код первой клавиши из комбинации;
g_second_key - код второй клавиши из комбинации;
time - время текущего события нажатия клавиши;
last_time_code - время предыдущего события нажатия клавиши;
g_time_limit - максимальное время между нажатиями первой и второй клавиши, что бы они считались комбинацией клавиш;

 
Sergey Dzyublik:
Не в обиду разработчиков, но ребята, что вы там курите?

Открываешь вставку кода, та что "src" была.
Вставляешь код и хочешь его отформатировать.
Курсор в начало строки, жмешь пять раз Tab, но что-то не то ни чего не происходит, затем Enter и .....
И ты, оказывается, уже опубликовал на сайте кривое, не законченное и вырванное из контекста сообщение.
UX-красота.... одним словом.

Табуляция работает, как переключатель между элементами управления. Доклацали до "Добавить".

 
Alexandr Bryzgalov:

нее, мне надо было именно штатное перекрестие.

у заказчика тачпад, с мышью все замечательно, с тачпадом только штатной кнопкой термнала его можно нажать

А в чем задача? Зачем состояние кнопки?


Alexandr Bryzgalov:

вроде уговорил на Ctrl+F, но блин я их сейчас отловить не могу )

может кто подскажет как отловить сочетание клавиш штатным обработчиком событий?

А где попытки? )

Вроде штатно можно комбинации отлавливать, но не факт, что сработает для зарезервированной.

 
Andrey Khatimlianskii:

Табуляция работает, как переключатель между элементами управления. Доклацали до "Добавить".

Табуляция по контролам не работает в режиме обычного ввода текста.
Зато прекрасно работает в режиме ввода Кода или сообщения в HTML формате.

 
Sergey Dzyublik:

Табуляция по контролам не работает в режиме обычного ввода текста.
Зато прекрасно работает в режиме ввода Кода или сообщения в HTML формате.

Да, так всегда было.

А в обычном тексте я не помню, чтобы когда-нибудь пробовал ею пользоваться ) Сейчас да, работает.

 
Sergey Lazarenko:
У меня счет в Альпари есн мт5, ради интереса посмотрел в демо от метаквотс, у них показывает корректно 

Спасибо за обращение. Уже в курсе проблемы, разбираемся.

 
Andrey Khatimlianskii:

А в чем задача? Зачем состояние кнопки?


А где попытки? )

Вроде штатно можно комбинации отлавливать, но не факт, что сработает для зарезервированной.

подсветка метки с ценой(цена на которую показывает перекрестие) при появлении перекрестия

и соответственно следование за перекрестием и удаление метки по выключению перекрестия.

ыва

 
Sergey Dzyublik:

Раз мое сообщение с обещанием найти старый код удалили - получается что ни чего и не обещал...
Шутка.


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

где:
lparam - код нажатой клавиши в текущем событии;
last_key_code - код нажатой клавиши в предыдущем событии;
g_first_key - код первой клавиши из комбинации;
g_second_key - код второй клавиши из комбинации;
time - время текущего события нажатия клавиши;
last_time_code - время предыдущего события нажатия клавиши;
g_time_limit - максимальное время между нажатиями первой и второй клавиши, что бы они считались комбинацией клавиш;

спасибо буду пробовать

 
Alexandr Bryzgalov:

спасибо буду пробовать

Зачем гадать, если примеры есть в справке? https://www.mql5.com/ru/docs/constants/chartconstants/enum_chartevents

Но ведь никто не догадается туда заглянуть  )

Событие

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

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

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

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

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

CHARTEVENT_KEYDOWN

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

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

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


Я же говорил уже Андрею (Хатимлянскому) - сначала создаем (придумываем) проблему, потом доблестно её решаем, невзирая на...
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Типы событий графика
  • www.mql5.com
Существуют 11 видов событий, которые можно обрабатывать с помощью функции предопределенной функции OnChartEvent(). Для пользовательских событий предусмотрено 65535 идентификаторов в диапазоне от CHARTEVENT_CUSTOM до CHARTEVENT_CUSTOM_LAST включительно. Для генерации пользовательского события необходимо использовать функцию EventChartCustom...