Windows 10+ATOKの組み合わせで利用した場合、TEdit/TMemoなどのコントロールのImeModeが動作しない

提供: Support
移動先: 案内検索

対象となるIDEのバージョン

  • RAD Studio/C++Builder/Delphi 10 Seattle以降

問題

10 Seattle以降では、Vcl.ControlsユニットのSetIMEModeメソッドの実装が修正され、内部でSetInputScope関数を呼び出すように変更されました。


これによってWindows 10+MS-IMEの組み合わせで、TEdit/TMemoなどのコントロールを利用したアプリでは、ImeModeが適切に切り替わるようになりました。

ただし、SetIMEModeメソッドの修正の副作用としてWindows 10+ATOKの組み合わせで利用した場合は、IMEのON/OFFは切り替わりますが、ImeModeが機能しません。

解決

ATOKの古いバージョンでは、SetInputScope関数に対応していないため、ImeModeが適切に切り替わりません。


そのため、10 Seattle以降でビルドしたアプリをWindows 10+ATOKの組み合わせで利用する場合は、SetInputScope関数に対応しているATOK 2020以降のバージョンへアップデートしてください。


例えば、 以下のバージョンでは、ImeModeが動作します。

  • 「ATOK Passport」(バージョン:31.1.9以降)
  • 「ATOK for Windows 一太郎2020 Limited」(バージョン:31.3.9以降)