2012-09-25 75 views
0

放置在ViewDoc控件上的RawViewControl(我無法訪問其代碼) - ViewDoc是它的容器。我試圖處理mousewheel事件,但RawViewControl沒有這樣的事件,如果我處理ViewDoc的mousewheel事件它沒有觸發(這是正確的 - 焦點在RawViewControl上)。我怎麼能從ViewDoc類捕獲這個事件?如何從任何代碼位置捕捉Ctrl +鼠標滾輪?

+0

向我們展示您到目前爲止所做的工作。 – gabsferreira

+0

RawViewControl是一種什麼樣的控件? – Reniuz

+0

我已經描述了它 - 首先我試着去處理ViewDoc的mousewheel事件,而不是我試圖在MainWindow級別上捕獲這個事件 - 具有相同的結果。在此之後,我嘗試在ViewDoc的子級中重寫此事件,並將此新類作爲控件的父級 - 但其中有太多其他錯誤。比我去谷歌=) – curiousity

回答

0

我不確定我是否正確理解您的問題,但我處理任何ctrl + something移動的一種方式是,OnKeyDown我檢查密鑰ctrl是否已被點擊。如果有,我設置一個全局變量爲g_IsCtrlDownTrue = trueOnKeyUp將它重新設置爲false。然後,在你的鼠標滾動檢查,看看ctrl是否關閉,如果它是執行你的ctrl + mouse運動。

+0

問題是在從沒有這樣的公共事件的控件捕捉鼠標滾動((或者從另一個控件中捕獲此時沒有焦點的事件,但是是一個這個控件沒有公共滾動事件的容器 – curiousity

+0

是的,我意識到我寫了我的回覆後,我怎麼公然地誤解了你的問題哈哈,好吧,你已經知道如何創建一個像這樣的動態鼠標滾動事件給你的控件? this.MouseWheel + = new MouseEventHandler(mousey); – Godrules500

+0

是)我已經完成了它 - 但我沒有嘗試過進入mousey功能 – curiousity