Windows 8 WM_POINTER vs WM_TOUCH
-
Monday, April 09, 2012 6:57 PM
The only information I can find on WM_POINTER is this talk and the accompanying slides: http://channel9.msdn.com/Events/BUILD/BUILD2011/APP-186T
In this other MSDN thread (http://social.msdn.microsoft.com/Forums/en-BZ/winforms/thread/ae834a88-2cdf-4bc7-89f3-19fc4c288610), Rob Caplan says "At a native level for desktop apps, the Windows 7 WM_TOUCH and WM_GESTURE ... are supplanted in Windows 8 by the WM_POINTER* messages."
This makes it sound to me as though WM_TOUCH and WM_GESTURE messages cannot be used at all in Win 8 and you must rewrite applications to use WM_POINTER. In the talk I linked above, Reed's explanation gave me the impression that WM_TOUCH and WM_GESTURE would still be available, but new applications are encouraged to go the WM_POINTER route. Which is it? I have a WM_TOUCH application I'm troubleshooting in Win8 and I'd like to know if my trouble could be caused by dropped support for WM_TOUCH.
Also, where can I find more information on WM_POINTER? I realize Win8 isn't out for some months, but with the push MS is making on touch, I'd like to see some better documentation.
All Replies
-
Wednesday, April 11, 2012 6:17 AM
The legacy messages (WM_TOUCH and WM_GESTURE) are still available. Your existing application should run without any changes.
You can find documentation on the WM_POINTER* family of messages in the User Input Message Reference on MSDN. Note that there is no "WM_POINTER" message. There are a number of messages starting with WM_POINTER: WM_POINTERUP, WM_POINTERDOWN, WM_POINTERUPDATE, etc. The individual messages topics are worth a read and have a lot of explanation and sample code.
--Rob
- Marked As Answer by Evan Sullivan Wednesday, April 11, 2012 1:35 PM
-
Wednesday, April 11, 2012 1:41 PMThanks very much, Rob. Searching for WM_POINTER does not lead to that page, though it's what I was looking for.
-
Wednesday, April 11, 2012 7:15 PM
You often need to search on the actual message names. If you can't remember them a useful trick is to search the header files to get the full names:
--Rob


