グラフィックを表示するためのウィンドウ(これを「グラフィックウィンドウ」と呼びます)と、テキストを入力して表示するためのウィンドウ(「テキストウィンドウ」と呼びます)の2つのウィンドウを持つプログラムがあります。テキスト ウィンドウは、グラフィックス ウィンドウの子です。テキスト ウィンドウが強調表示されている限り、プログラムはキーストロークを正しく処理しますが、グラフィックス ウィンドウが強調表示されている場合、キーストロークは無視されます。私がやりたいことは、グラフィックス ウィンドウが強調表示されている場合でも、テキスト ウィンドウがキーストロークを処理するように調整することです。
問題が解決しました:
テキスト ウィンドウは、それ自体がリッチ エディット ウィンドウの親です。
グラフィックス ウィンドウのメッセージ ハンドラー内に、以下を追加しました。
case WM_CHAR:
case WM_KEYDOWN:
case WM_KEYUP:
case WM_SYSKEYDOWN:
case WM_SYSKEYUP:
SendMessage(handle_of_rich_edit_window, message, wParam, lParam);
break;
以前にメッセージをテキストウィンドウに送信しようとしましたが、うまくいかなかったようです (理由はわかりません)。メッセージをリッチエディット ウィンドウに直接送信すると、問題が解決したようです。