我正在使用兩個Windows窗體來處理C#應用程序。兩種形式都是全屏顯示,一種形式作爲透明覆蓋層位於另一種形式之上。底部表單包含一個網頁瀏覽器(也是全屏)。我正在跟蹤透明疊加窗體上的觸摸輸入,以捕獲手勢並在屏幕上繪製按鈕和其他控件。我需要做的是將覆蓋表單在其WndProc函數中獲得的所有窗口消息發送到下面的表單(或表單中的Web瀏覽器控件,因爲基本上所有較低的表單都被用於包含)。C#將WndProc從窗體傳遞到另一個窗體
基本上我只需要處理覆蓋層上的手勢,所有的鼠標消息仍然需要傳輸到Web瀏覽器來提供某些功能。
我已經嘗試過只是調用低層窗體的WndProc方法給出覆蓋層消息的樸素方法。 (同樣,我試着將它傳遞給瀏覽器控制窗口的WndProc)。這兩種方法都不起作用。我也試着簡單地將Message對象的HWnd參數交換爲下層窗體/瀏覽器的句柄,同時嘗試這樣做,但這也不起作用。
那麼,任何人都可以想到更多的方法來嘗試,或者可能是窗體之間傳遞窗口消息的正確方法?
謝謝, 亞歷克斯
你爲什麼限制自己只WndProc的消息? – volody 2010-05-19 17:34:38
這就是我目前正在接收觸摸輸入的方式。然而,觸摸輸入被視爲鼠標輸入,我相信,所以我想另外一個問題是將所有鼠標事件傳遞到較低表單的簡單/乾淨的方法。 – Alex 2010-05-19 17:40:51