none
タッチキーボードで日本語の文字を入力できない

    質問

  • MFCを使ってタブレット用プログラムを開発しています。

    ダイアログボックス上のエディットコントロールにWindows標準のタッチキーボードでローマ字入力によって日本語の文字を入力する際、変換候補が表示されず、キーのアルファベットが直接入力される症状が発生しています。

    ダイアログボックスがアプリケーションのメインウィンドウである場合は正常に入力できますが、例えばこのダイアログボックスに配置したボタンのBN_CLICKEDイベントハンドラから自身と同じダイアログボックスをモーダル表示した場合、上記の症状が発生します。なお、このイベントハンドラで自身にメッセージをポストしてモーダル表示を遅延実行した場合、症状は発生しません。

    何か情報をお持ちでしたらご教授願います。

    [開発環境]

    Visual Studio Professional 2017

    Windows 10 Pro x64

    [実行環境]

    Windows 10 Pro x64

    よろしくお願い致します。

    2018年1月17日 7:45

すべての返信

  • 回答ではないのですが、私の環境(Visual Studio 2017, Windows 10 バージョン 1607, 1709)では再現しませんでした。

    ダイアログベースの MFC アプリケーションを新規に作成し、Edit Control と Button を追加し、Button のイベント ON_BN_CLICKED で新たに自分自身のダイアログクラスのインスタンスを作成し DoModal で呼び出して確認しました。

    他の部分のコードや環境の違いによる問題かもしれません。新規作成したシンプルなプロジェクトでも再現しますでしょうか?また、Windows 10 の詳細バージョンを教えてください。お手元に別の環境がありましたらそちらでも再現しますでしょうか?

    2018年1月17日 8:55
  • ご返信ありがとうございます。

    プロジェクトはウィザードで[ダイアログベース]を選択し、そのまま[完了]ボタンを押して生成後、ご記載いただいた内容と同様の変更をおこなっています。

    Visual Studio 2017は、ダイアログエディタ上からのクラスの追加に失敗するなどの理由から、Version 15.2を使用しています。

    タブレット側のWindowsは、エディション=Windows 10 Pro、バージョン=1709、OSビルド=16299.192です。

    現在のところ、他の実行環境では試していません。

    なお、症状はDebug版/Release版、Win32/x64の4つの構成のいずれでも発生します。

    以上です。よろしくお願い致します。

    2018年1月17日 9:39
  • すみません、補足です。

    タスクバーの日本語入力がオンになっているとタッチキーボードからは日本語入力になりますが、タッチキーボードで日本語入力オフにしても日本語入力になってしまうことや、タッチキーボードをドッキング状態にするとタスクバーは見えないので、タスクバーの方はオフに設定しており、この状態で症状が発生します。

    2018年1月17日 10:04