- Типы событий графика
- Периоды графиков
- Свойства графиков
- Позиционирование графика
- Отображение графиков
- Примеры работы с графиком
Типы событий графика
Существуют 11 видов событий, которые можно обрабатывать с помощью функции предопределенной функции OnChartEvent(). Для пользовательских событий предусмотрено 65535 идентификаторов в диапазоне от CHARTEVENT_CUSTOM до CHARTEVENT_CUSTOM_LAST включительно. Для генерации пользовательского события необходимо использовать функцию EventChartCustom().
ENUM_CHART_EVENT
Идентификатор |
Описание |
---|---|
CHARTEVENT_KEYDOWN |
Нажатие клавиатуры |
CHARTEVENT_MOUSE_MOVE |
Перемещение мыши и нажатие кнопок мышки (если для графика установлено свойство CHART_EVENT_MOUSE_MOVE=true) |
CHARTEVENT_MOUSE_WHEEL |
Нажатие или прокрутка колесика мышки (если для графика установлено свойство CHART_EVENT_MOUSE_WHEEL=true) |
CHARTEVENT_OBJECT_CREATE |
Создание графического объекта (если для графика установлено свойство CHART_EVENT_OBJECT_CREATE=true) |
CHARTEVENT_OBJECT_CHANGE |
Изменение свойств графического объекта через диалог свойств |
CHARTEVENT_OBJECT_DELETE |
Удаление графического объекта (если для графика установлено свойство CHART_EVENT_OBJECT_DELETE=true) |
CHARTEVENT_CLICK |
Нажатие мышки на графике |
CHARTEVENT_OBJECT_CLICK |
Нажатие мышки на графическом объекте |
CHARTEVENT_OBJECT_DRAG |
Перетаскивание графического объекта |
CHARTEVENT_OBJECT_ENDEDIT |
Окончание редактирования текста в графическом объекте Edit |
CHARTEVENT_CHART_CHANGE |
Изменение размеров графика или изменение свойств графика через диалог свойств |
CHARTEVENT_CUSTOM |
Начальный номер события из диапазона пользовательских событий |
CHARTEVENT_CUSTOM_LAST |
Конечный номер события из диапазона пользовательских событий |
Для каждого типа события входные параметры функции OnChartEvent() имеют определенные значения, которые необходимы для обработки этого события. В таблице перечислены события и значения, которые передаются через параметры.
Событие |
Значение параметра id |
Значение параметра lparam |
Значение параметра dparam |
Значение параметра sparam |
---|---|---|---|---|
Событие нажатия клавиатуры |
CHARTEVENT_KEYDOWN |
код нажатой клавиши |
Количество нажатий клавиши,сгенерированных за время её удержания в нажатом состоянии |
Строковое значение битовой маски, описывающее статус кнопок клавиатуры |
События мышки (если для графика установлено свойство CHART_EVENT_MOUSE_MOVE=true) |
CHARTEVENT_MOUSE_MOVE |
X координата |
Y координата |
Строковое значение битовой маски, описывающее статус кнопок мыши |
Событие колёсика мышки (если для графика установлено свойство CHART_EVENT_MOUSE_WHEEL=true) |
CHARTEVENT_MOUSE_WHEEL |
Флаги состояний клавиш и кнопок мышки, координаты X и Y курсора. Описание дано в примере ниже |
Значение Delta прокрутки колёсика мышки |
— |
Событие создания графического объекта (если для графика установлено свойство CHART_EVENT_OBJECT_CREATE=true) |
CHARTEVENT_OBJECT_CREATE |
— |
— |
Имя созданного графического объекта |
Событие изменения свойств объекта через диалог свойств |
CHARTEVENT_OBJECT_CHANGE |
— |
— |
Имя измененного графического объекта |
Событие удаления графического объекта (если для графика установлено свойство CHART_EVENT_OBJECT_DELETE=true) |
CHARTEVENT_OBJECT_DELETE |
— |
— |
Имя удаленного графического объекта |
Событие щелчка мышки на графике |
CHARTEVENT_CLICK |
X координата |
Y координата |
— |
Событие щелчка мышки на графическом объекте |
CHARTEVENT_OBJECT_CLICK |
X координата |
Y координата |
Имя графического объекта, на котором произошло событие |
Событие перемещения графического объекта при помощи мышки |
CHARTEVENT_OBJECT_DRAG |
— |
— |
Имя перемещенного графического объекта |
Событие окончания редактирования текста в поле ввода графического объекта "Поле ввода" |
CHARTEVENT_OBJECT_ENDEDIT |
— |
— |
Имя графического объекта "Поле ввода", в котором завершилось редактирование текста |
Событие изменения размеров графика или изменения свойств графика через диалог свойств |
CHARTEVENT_CHART_CHANGE |
— |
— |
— |
Пользовательское событие с номером N |
CHARTEVENT_CUSTOM+N |
Значение, заданное функцией EventChartCustom() |
Значение, заданное функцией EventChartCustom() |
Значение, заданное функцией EventChartCustom() |
Пример:
#define KEY_NUMPAD_5 12
|
Для события CHARTEVENT_MOUSE_MOVE строковой параметр sparam содержит число, представляющее информацию о состоянии клавиш:
Бит |
Описание |
---|---|
1 |
Состояние левой клавиши мыши |
2 |
Состояние правой клавиши мыши |
3 |
Состояние клавиши SHIFT |
4 |
Состояние клавиши CTRL |
5 |
Состояние средней клавиши мыши |
6 |
Состояние первой дополнительной клавиши мыши |
7 |
Состояние второй дополнительной клавиши мыши |
Пример:
//+------------------------------------------------------------------+
|
//--- отключаем контекстное меню чарта (по правой кнопке)
|
Для события CHARTEVENT_MOUSE_WHEEL параметры lparam и dparam содержат информацию о состоянии клавиш Ctrl, Shift, кнопок мышки, координатах курсора и величине прокрутки колёсика мышки. Для лучшего понимания запустите этот советник на графике и прокручивайте колёсико мышки, нажимая поочередно различные кнопки и клавиши, описанные в коде.
Пример обработки события CHARTEVENT_MOUSE_WHEEL:
//+------------------------------------------------------------------+
|
Смотри также