CE60 R3支持手势功能,它是怎么支持的?提供有API?CE60 R3以前的系统要做手势功能怎么做?WM_LBUTTONDOWN+WM_MOUSEMOVE?
判断WM_LBUTTONDOWN+WM_MOUSEMOVE两个消息里面的点的位置,然后比较他们的数值?大跟小就对应左跟右?
但觉得很不准.在界面上划一下WM_MOUSEMOVE会被多次触发,那不是有多次判断的结果出来,这样只想移动一张图片最后变成了移动几张图片了.
还有看到说用D3D/OPENGL可以很方便实现这样的功能,但不知道怎么用.划屏是MOUSEMOVE方面的事情跟3D应该没有什么关系.顶多跟D3D的DIRECTXINPUT组件有关,但WINCE下的D3D已经没有了DIRECTXINPUT组件.
CE6.0 R3提供了一组API用来控制gesture:
http://msdn.microsoft.com/en-us/library/ee502234.aspx
另外,它通过WM_GESTURE来通知应用程序
gesture的实现是在gwes里面做的,它是采用直接识别touch驱动送上来的坐标来实现的
WM_MOUSEMOVE 中 把坐标保存在一个序列里面,每次获取坐标的同时判断序列是否符合要求
符合要求就判断为相应手势,清空序列
类似做手写输入法,不过要简单很多