MQL5参考普通函数TranslateKey 

TranslateKey

通过考虑到当前输入语言和控制键状态的虚拟键码返回Unicode字符。

short  TranslateKey(
   int  key_code      // 接收Unicode字符的键码
   );

参数

key_code

[in]  键码。

返回值

成功转换情况下的Unicode字符。错误情况下,函数返回 -1。

注意

函数使用ToUnicodeEx将用户按下的键码转换为Unicode字符。如果没有触发ToUnicodeEx则可能发生错误–例如,试图接收SHIFT键字符时。

例如:

void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam)
  { 
   if(id==CHARTEVENT_KEYDOWN)
     {
      short sym=TranslateKey((int)lparam);
      //--- 如果输入的字符成功转换为Unicode
      if(sym>0)
         Print(sym,"'",ShortToString(sym),"'");
      else
         Print("Error in TranslateKey for key=",lparam);
     }
  }

另见

客户端事件OnChartEvent