2009-10-08 67 views
1

我剛買了一個觸摸板,允許繪圖和使用多點觸控。 api不被windows 7完全支持,所以我不得不依賴於配置對話框中的構建。跟蹤「命令」通過觸摸板發送到WPF窗口(竹)

基本功能正在工作,所以如果我在我的WPF工具中繪製某些東西,並使用兩個手指進行右鍵單擊,我可以例如改變顏色。我現在想要做的是將其他函數分配給WPF中的特殊功能。

有沒有人知道如何找出鍵盤與應用程序通信的方式?它適用於在Firefox中滾動,就像它應該(在這張照片上顯示)。但我不知道如何連接滾動事件,我嘗試了一個滾動查看器(它忽略了我的滾動嘗試),並且我還用鍵盤按下了一個事件,但它不會觸發(我假設鍵盤沒有「按下一個鍵「但不知何故發送‘滾動’命令照片直接。我怎樣才能趕上WPF該命令?

非常感謝, 克里斯

[編輯]我有滾動的工作,但只上下,這是一個愚蠢的「滾動查看器中的列表框」的錯誤,但仍然不確定像ZOOM這樣的命令(即使在繪畫中也是如此)。哪個API包含這樣的東西?

[編輯2]有趣,縮放工作在Firefox中,水平滾動不會。但是,在油漆,水平滾動運作...

[編輯3]剛纔問的WACOM論壇,讓我們看到供應商的支持反應時間...... http://forum.wacom.eu/viewtopic.php?f=4&t=1939

下面是配置的圖片表面得到什麼我談論的想法:(竹設置,我嘗試在WPF趕上這些命令)

alt text http://img340.imageshack.us/img340/3751/20091008210914.jpg

回答

0

你吃過看看this呢。 WPF 3.5本身並不支持多點觸控(它來自WPF 4.0),但是該套件中的示例應該讓您開始使用Windows7集成庫,該庫訪問本機Win32 API以提供所需的支持(Don'不要擔心它不是真正的醜陋:)。

+0

謝謝,實驗室看起來很有趣,但這不適合我的問題。我真的沒有使用新的Windows 7 API的多點觸控顯示屏(我喜歡這些漂亮的筆記本電腦)。 Bamboo看起來可以自己識別多點觸控,並將它們轉換爲「默認命令」,如SCROLL或ZOOM。滾動(僅上下)似乎無處不在(似乎模仿鼠標滾輪)。所以它更像一個普遍的問題,例如在WPF中定義水平滾動.. – 2009-10-08 21:30:35

+0

啊我現在看到了。是的,Bamboo驅動程序可能會生成一些Win32消息,那些正在響應的應用程序 - Paint和Firefox - 正在偵聽。抱歉,我無法閱讀德文:)但是您可以通過該配置將事件類型分配給您正在執行的操作......我已用Wacom平板電腦以更簡單的形式完成了此操作,例如,地圖Barrell點擊右鍵單擊。您最好的辦法是找出每個平板電腦操作產生的WPF事件類型,然後根據需要對這些事件做出響應。有一些有用的信息隱藏在StylusButtonEventArgs,即如果你深入... – 2009-10-08 23:23:30

+0

源或設備(我現在不記得了)你會得到一個按鈕ID值(我認爲有StylusButton.Id或類似的隱藏某處)。現在,對於單點觸摸,多點觸摸等,即使調用相同的事件處理程序,該值也很可能不同。所以是的,只是嘗試所有的手寫筆事件,鼠標事件和深入的論點,你會找到某種方式來識別不同的行爲。在Charles Petzolds Application = Code + Markup中,有一小段代碼用於捕捉和檢查所有不同的事件,因此這可以幫助您開始。 – 2009-10-08 23:27:44