Windows10におけるTGrid セル文字入力の挙動

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

対象となるWindows バージョン

  • Windows 10 Fall Creators Update(1709)以降

対象となるVCLコンポーネント

  • TStringGrid、TDBGridなどのTGridから派生しているクラス

問題

IMEを有効(ローマ字、あるいはかな文字入力)にした状態で、TGridの行編集を行うためにセルを選択し、文字を入力すると、正しく文字変換されない症状が発生します。

例えば、キーボードで ローマ字入力を行うと、「K」「A」と入力した時に「か」へ変換されず、「kあ」となります。


この症状は、Delphi/C++Builderでビルドしたアプリケーション以外でも類似した問題が発生しています。


なお、Windows 10 Fall Creators Update(1709)以降のバージョンで こちらのブログで説明しているIMEの挙動が変更されていることに起因します。

上記の理由によって未確定文字列がインプレースエディタに引き継がれない不具合が発生しますが、 バージョン10.4現在のTGridの実装では、上記のIME挙動に対応しておりません。

(5/24 追記)

本件は、マイクロソフト社のWindowsのアップデートによって修正済みです。なお、Windows 10(20H2)以降のバージョンで、以下のどちらのIMEを選択した場合でも改善されております。

・新しいMicrosoft IME

・以前のバージョンのMicrosoft IME (詳しくはこちらを参照ください)

解決

現状の回避策として以下のいずれかの方法が有効です。

  • セルをクリックし、InplaceEditorが表示された状態で入力
  • OptionsのAlwaysShowEditorプロパティをtrueに設定

(5/24 追記)

Windows 10(20H2)以降のバージョンへアップデートしてください