新しいMicrosoft IMEを使用し、TEditやTMemoなどのVCLエディットコントロールを利用している場合、Fxキーを押しても選択されたテキストの再変換が行われない
対象となるWindowsのバージョン
- Windows 10 (バージョン 2004)以降
問題
Windows 10 バージョン 2004(May 2020 Update)で、新しいMicrosoft IMEが導入されましたが、この新しいMicrosoft IMEでは、テキストが選択されている状態で、Fx(ファンクション)キーを押すと、IMEの再変換が行われるように動作仕様が変更されました。
例えば、Windows標準のアプリケーションであるメモ帳(Notepad)を利用の場合、下図のようにIMEがオン、かつテキストが選択された状態で
F10キーを押すと、下図のように再変換が行われます。
これに対して、VCLアプリケーションでは、以下の条件を満たす場合、IMEの再変換が行われません。
- 新しい Microsoft IMEを利用
- TEditあるいはTMemoコンポーネントを使用
- [プロジェクト] > [オプション] > [アプリケーション] > [マニフェスト] > [マニフェストファイル]の”ランタイムテーマの有効化”=True
- IMEがオン、かつテキストが選択された状態で、Fx(ファンクション)キーを押す
なお、”ランタイムテーマの有効化”=Falseの場合や、ランタイムテーマの有効化”=TrueでもTComboBoxコンポーネントを利用の場合は、同じ操作でIMEの再変換が行われるため、本症状はTEditあるいはTMemoなどのVCLエディットコントロール固有の不具合です。
回避策
本症状は、10.5以降のバージョンで対応予定となっています。ご迷惑をおかけいたしますが、修正されるまでお待ちください。
Windows 10(20H2)のバージョン以降へアップデートすると、こちらの情報のようにマイクロソフト側の修正により、過去のIMEの問題が改善されます。ただ懸念点として新しいMicrosoft IMEを利用すると、別のサイドエフェクト問題が発生する恐れがあります。
そのため、一度従来のMicrosoft IMEに変更して動作をご確認ください。従来のMicrosoft IMEに戻すにはこちらのドキュメントを参考ください。
関連情報
- Windows 10 バージョン 2004(May 2020 Update)以降を利用していますが、古いMicrosoft IMEに戻すにはどうすれば良いですか?
- Windows 10(20H2)以降の環境で、VCLフォームアプリケーションを実行した時のIMEの挙動