我已经实现了一个名为SimpleControl的控件。在此控件中,我使用触摸手势实现了触摸支持。在进行触摸平移操作时,此触摸位置未正确更新。在水平或垂直方向上进行平移时,其工作正常。但是当开始垂直平移然后将手指水平移动直接x位置没有正确改变时,更新需要更多时间。所以,请你提出解决这个问题的方法吗?
在下面的示例中,触摸平移时触摸点是输出窗口中的更新。
复制程序: 1.运行样本 2.开始垂直平移,找到位置在输出窗口中更新 3.然后继续水平平移,x位置仅在位置改变后改变。
请从下面找到样本,
答案 0 :(得分:1)
我找到了解决方法。当设置下面的代码到手势配置时,对角线平移操作正常工作,并且位置更新问题已经解决。
GESTURECONFIG gc = new GESTURECONFIG();
gc.dwID = GID_PAN;
gc.dwWant = GC_PAN_WITH_SINGLE_FINGER_VERTICALLY | GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY | GC_PAN_WITH_INTERTIA;
gc.dwBlock = GC_PAN_WITH_GUTTER;
bool bResult = SetGestureConfig(
Handle,
0,
1,
ref gc,
_gestureConfigSize
);