[DataGrid] セルで認識されない東アジア言語の最初の文字

この記事は、Windows 10の [DataGridView] セルで東アジア言語の最初の入力文字が正しく認識されない問題を解決するのに役立ちます。

元の製品バージョン: Windows 10
元の KB 番号: 4563779

現象

[DataGrid] セルで東アジア言語の最初の入力文字が IME によって正しく認識されない。

原因

Edit コントロールの入力コンポジションには、DataGrid セルに入力された最初の文字は含まれません。 したがって、入力されたテキストが正しくない可能性があります。 正しいテキストが入力されるようにするには、コントロールコンテンツの編集をクリアする必要があります。 これはアプリケーションの互換性の問題です。 互換性レジストリの変更は回避策です。

解決方法

重要

このセクションでは、レジストリを変更する方法について説明します。 不適切な変更は重大な問題を引き起こす可能性があります。 手順を慎重に実行して、間違いを避けてください。 保護を強化するには、問題が発生した場合に復元できるようにレジストリをバックアップします。

レジストリをバックアップおよび復元する方法の詳細については、「 Windows でレジストリをバックアップおよび復元する方法」を参照してください。

この問題に対処するには、2 つのレジストリ キーがあります。 お客様は、次のいずれかのレジストリ キーをシステムに適用できます。

次のような状況を想定します。

  • この問題が発生したアプリケーションが複数あり、各アプリケーションに DataGrid セルごとに異なるウィンドウ クラス名がある場合。 この場合は、アプリケーションの実行可能ファイル名を含む新しいレジストリ キーを追加できます。 その後、値を 0x00008000 に設定できます。 1 つのアプリケーションごとにレジストリ キーを繰り返し設定する必要があります。

  • この問題が発生したアプリケーションが複数あるが、アプリケーションで DataGrid セルに単一ウィンドウ クラス名が使用されている場合は、それらのアプリケーションのすべてのウィンドウ クラス名が同じであるためです。 この場合は、レジストリ キーを追加 AppCompatClassName できます。 次に、アプリケーションの Window クラス名に値を設定できます。

  1. 特定のプロセス名の場合:
    レジストリ エントリ

    <HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\Compatibility\ExecutableFileName>
    REG_DWORD: 互換性
    DWORD 値: 0x00008000 (16 進値 32,768)

    x86 アプリケーションが x64 Windows システムで実行される場合は、前に説明したレジストリ キーではなく、次のレジストリ キーを適用できます。

    <HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\CTF\Compatibility\ExecutableFileName>
    REG_DWORD: 互換性
    DWORD 値: 0x00008000 (16 進値 32,768)

    例: などの特定の実行可能ファイル名の回避策 sample.exe

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\Compatibility\sample.exe
    REG_DWORD: 互換性
    DWORD 値: 0x00008000 (16 進値 32,768)

  2. 特定の Windows クラス名の場合:
    このシナリオを使用する場合は、システムに次の Windows 更新を適用する必要があります。

    Windows 10 バージョン 記事のリンク
    バージョン 1803 Windows 10 KB4550944
    Windows 10 バージョン 1809 KB4550969
    Windows 10 バージョン 1903 KB4541335
    Windows 10 バージョン 1909 KB4541335
    Windows 10 バージョン 2004 KB4571744

    レジストリ エントリ:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\Compatibility\AppCompatClassName
    REG_SZ: 互換性
    文字列値: <WindowClassName>

    x86 アプリケーションが x64 Windows システムで実行される場合は、上記のレジストリ キーではなく、次のレジストリ キーを適用できます。

    HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\CTF\Compatibility\AppCompatClassName
    REG_SZ: 互換性
    文字列値: <WindowClassName>

    例: 編集としての特定のウィンドウ クラス名の回避策

    KEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\CTF\Compatibility\AppCompatClassName
    REG_SZ: 互換性
    文字列値: 編集

関連情報

Microsoft がソフトウェア更新プログラムの説明に使用する用語について説明します。