OnChartEvent 関数
この関数は、ChartEventイベントグループのハンドラーで、チャートイベントを実行します。
OnChartEvent関数を使用して処理できるイベントはこちらになります。
データ型と構成・戻り値
void OnChartEvent(①, ②, ③, ④);
戻り値は無し。
引数 [4]
OnChartEvent関数は 4個の引数で構成されます。イベント内容によって引数に設定される値が違ってきます。
番 号 | 引数名 | データ型 | 単位 | 初期値 | 説明 |
---|---|---|---|---|---|
① | id | const int | - | - | イベントID。 チャートイベントで処理する内容です。 |
② | lparam | const long& | - | - | lparam(long型の)パラメータ値。 引数①によって取得される値です。 |
③ | dparam | const double& | - | - | dparam(double型の)パラメータ値。 引数①によって取得される値です。 |
④ | sparam | const string& | - | - | sparam(string型の)パラメータ値。 引数①によって取得される文字列です。 |
使用例
OnChartEvent関数によるキーボードキーの取得
OnChartEvent関数と TranslateKey関数を使用して、押したキーボードの文字を取得します。合わせて、その時のキーコードと Unicodeを 16進数で取得します。カッコ内の値は 10進数です。
キーボードは「a」「b」「1」「2」「Shift」の順番で押します。
コード
// OnChartEvent関数によるキーボードキーの取得
#property strict
void OnChartEvent(const int id, const long& lparam, const double& dparam, const string& sparam)
{
if(id == CHARTEVENT_KEYDOWN) {
short sym = TranslateKey((int)lparam);
if(sym > 0) {
Print("キーコード:", StringFormat("%.X", lparam), "(", lparam,") 押したキーのUnicode:", StringFormat("%.X", sym), "(", sym, ") 押したキー:", ShortToString(sym));
} else {
Print("キーコード:", StringFormat("%.X", lparam), "(", lparam,") Unicodeに変換できないキーコードです");
}
}
}
コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
結果
「Shift」キーは、Unicodeに変換できないキーコードになります。その他の結果についてはこちらの表と比較してください。