最佳解答者
接收多點觸控事件?

問題
解答
-
- 已編輯 小歐ouMVP, Moderator 2012年3月1日 上午 05:20
- 已標示為解答 小貓貓 2012年3月2日 上午 01:10
- 已取消標示為解答 小貓貓 2012年3月2日 上午 03:05
- 已標示為解答 Bill ChungMVP, Moderator 2012年3月13日 上午 07:06
所有回覆
-
- 已編輯 小歐ouMVP, Moderator 2012年3月1日 上午 05:20
- 已標示為解答 小貓貓 2012年3月2日 上午 01:10
- 已取消標示為解答 小貓貓 2012年3月2日 上午 03:05
- 已標示為解答 Bill ChungMVP, Moderator 2012年3月13日 上午 07:06
-
dear 小歐大:
感謝您找的資料,但有地方看不太懂,想請問您一下,您給的這篇中
http://johnniebooks.blogspot.com/2009/09/wpf-windows7-multi-touch.html
在接msg的部份,它是都這樣寫
switch (msg)
{
case TouchMessage.WM_GESTURE:........我看了很多相關的程式在google,也都是這樣寫,但這裡接到的msg是int
要如何知道多點觸控事件的int代表多少??
-
dear各位大大:
感謝你們的幫忙
以下是我實作測試的程式,但發現結果並不是我想要的,以下的程式,它仍只抓的到該視窗上發生的事件,我想做到的是,
如我第一篇發問的,是全域的事件我都可以接收,我仔細描述一下,比如我的wpf視窗上有個textBlock,我想做的是我開啟小畫家,
在小畫家上同時多點觸控畫畫,然後我的WPF應用程式可以接到該事件,然後改變我textBlock的值,
我上面舉小畫家是舉例,我想做的是只要發生多點觸控事件,我的應用程式都可以接的到,想請問這該如何做到???謝謝
namespace multitouch { /// <summary> /// MainWindow.xaml 的互動邏輯 /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); this.SourceInitialized += new EventHandler(MainWindow_SourceInitialized); } void MainWindow_SourceInitialized(object sender, EventArgs e) { IntPtr hwnd = new WindowInteropHelper(this).Handle; HwndSource.FromHwnd(hwnd).AddHook(new HwndSourceHook(WndProc)); } public const int WM_GESTURE = 0x0119; IntPtr WndProc(IntPtr hwnd, int msg, IntPtr wParam, IntPtr lParam, ref bool handled) { switch (msg) { //WM_TOUCH case 0x0240: this.textBlock1.Text = "WM_TOUCH"; handled = true; break; //WM_GESTURE case WM_GESTURE: this.textBlock1.Text = "WM_GESTURE"; handled = true; break; //WM_MOUSEMOVE case 0x0200: this.textBlock1.Text = "WM_MOUSEMOVE "; handled = true; break; } return IntPtr.Zero; } private void Window_Loaded(object sender, RoutedEventArgs e) { } } }