トップ  >  MQL4リファレンス  >  共通関数  >  TranslateKey
スポンサーリンク
検索

↑の検索エンジンが表示されない人は、
↓の古い検索エンジンを使用して下さい。
カスタム検索
MQL4リファレンスツリー
TranslateKey


TranslateKey


現在の入力言語と制御キーの状態を考慮して、仮想キーコードによってUnicode文字を返します。

関数書式:
short  TranslateKey(
   int key_code      // Unicode文字変換するキーコード
   );



■引数
引数名 初期値 I/O 詳細
key_code - In Unicode文字変換するキーコード


■戻り値
変換が成功した場合のUnicode文字を返し、エラーの場合は-1を返します。


■備考
この関数は、Win32 APIのToUnicodeEx()を使用して、ユーザーが押したキーをUnicode文字に変換します。
ToUnicodeEx()がトリガーされない(たとえばSHIFTキー等を渡した)場合エラーが発生する場合があります。


サンプルソース:
//+------------------------------------------------------------------+
//| チャートイベント
//+------------------------------------------------------------------+
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) 
{  

    if ( id == CHARTEVENT_KEYDOWN ) {                      // キーボードのボタン押下判定 

        short temp_unicode = TranslateKey( (int)lparam ); // 押されたキーのコードを変換

        if ( temp_unicode > 0 ) {
            printf( "変換成功。押されたキー:%c 押されたキーコード:0x%x 変換したコード0x%x" 
                     , lparam ,lparam , temp_unicode );
        } else {
            printf( "変換失敗。押されたキー:%c 押されたキーコード:0x%x" , lparam , lparam );
        } 
    }
}


結果:
変換成功。押されたキー:A 押されたキーコード:0x41 変換したコード0x61
変換成功。押されたキー:S 押されたキーコード:0x53 変換したコード0x73
変換成功。押されたキー:D 押されたキーコード:0x44 変換したコード0x64
変換成功。押されたキー:F 押されたキーコード:0x46 変換したコード0x66
変換失敗。押されたキー:(Shiftキー)  押されたキーコード:0x10
変換失敗。押されたキー:%(左矢印キー) 押されたキーコード:0x25
変換失敗。押されたキー:'(右矢印キー) 押されたキーコード:0x27







スポンサーリンク
スポンサーリンク


Copyright ©2015 MT4でEA自作しちゃお~ All Rights Reserved.


Top

inserted by FC2 system