私は 2 つの Windows フォームを持つ C# アプリケーションに取り組んでいます。どちらのフォームも全画面表示で、一方のフォームが透明なオーバーレイとして他方のフォームの上に表示されます。一番下のフォームには、Web ブラウザーが含まれています (これも全画面表示)。ジェスチャをキャプチャし、ボタンやその他のコントロールを画面に描画するために、透明なオーバーレイ フォームでタッチ入力を追跡しています。私がする必要があるのは、オーバーレイ フォームがその WndProc 関数で取得するすべての Windows メッセージを下のフォーム (またはフォーム内の Web ブラウザー コントロール) に送信することです。
基本的には、オーバーレイ上のジェスチャを処理するだけで済みます。特定の機能を提供するには、すべてのマウス メッセージを Web ブラウザに転送する必要があります。
オーバーレイからのメッセージを受け取って、下のフォームの WndProc メソッドを呼び出す単純な方法を試しました。(そして同様に、ブラウザ コントロール ウィンドウの WndProc にさらに渡そうとしました)。これらの方法はどちらも機能しません。また、メッセージ オブジェクトの HWnd パラメーターを単純に交換して、これを試みているときに下のフォーム/ブラウザーのハンドルにしようとしましたが、これもうまくいきませんでした。
では、試してみる方法や、フォーム間で Windows メッセージを渡す正しい方法を考えられる人はいますか?
ありがとう、アレックス