チャートイベントの種類
事前定義された OnChartEvent() 関数を使用して処理出来るイベントには 11 種類あります。カスタムイベントには CHARTEVENT_CUSTOM 以上 CHARTEVENT_CUSTOM_LAST 以下の 65,535 の識別子が提供されています。カスタムイベントの作成には EventChartCustom() 関数が使用されます。
ENUM_CHART_EVENT
ID |
説明 |
---|---|
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座標の状態のフラグ。下の例の説明を参照してください。 |
マウスホイールスクロールのデルタ値。 |
— |
グラフィックオブジェクトの作成イベント(チャートで 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 |
— |
— |
移動したグラフィックオブジェクトの名称 |
LabelEdit グラフィックオブジェクトの入力ボックスでのテキスト編集完成のイベント |
CHARTEVENT_OBJECT_ENDEDIT |
— |
— |
テキスト編集が完成した LabelEdit グラフィックオブジェクトの名称 |
チャートサイズの変更イベントやプロパティダイアログを通したチャートのプロパティの変更 |
CHARTEVENT_CHART_CHANGE |
— |
— |
— |
N 番号を使用したユーザイベントID |
CHARTEVENT_CUSTOM+N |
EventChartCustom() 関数で設定された値 |
EventChartCustom() 関数で設定された値 |
EventChartCustom() 関数で設定された値 |
例:
#define KEY_NUMPAD_5 12
|
CHARTEVENT_MOUSE_MOVE イベントでは、キーボードとマウスボタンの状態に関する情報が sparam 文字列パラメータに含まれています。
ビット |
説明 |
---|---|
1 |
マウスの左ボタンの状態 |
2 |
マウスの右ボタンの状態 |
3 |
SHIFT ボタンの状態 |
4 |
CTRL ボタンの状態 |
5 |
マウスの中央ボタンの状態 |
6 |
マウスの追加ボタン 1 の状態 |
7 |
マウスの追加ボタン 2 の状態 |
例:
//+------------------------------------------------------------------+
|
CHARTEVENT_MOUSE_WHEEL イベントの場合、lparamパラメータとdparam パラメータは Ctrlキー及びShiftキー、マウスボタン、カーソル座標、およびマウスホイールのスクロール値の状態に関する情報を含みます。より良い理解のためには、このエキスパートアドバイザーをチャート上で実行し、マウスホイールをスクロールしながら、異なるボタンを押しながらコードに記載されているキーを押し続けます。
下記はCHARTEVENT_MOUSE_WHEELイベント処理の例です。
//+------------------------------------------------------------------+
|
S参照