【发布时间】:2016-07-12 15:21:10
【问题描述】:
Delphi 10 是否支持传统(非 MetroUI、非 FireMonkey)win 32/64 应用程序中的多点触控?
我对此进行了研究(并尝试过),但它不起作用。我认为我应该能够做到以下几点:
- 新的 Win32 VCL 应用程序
- 向表单添加手势管理器
- 将手势管理器分配给表单
- 进入表单的 Touch.InteractiveGestures 并包含 igZoom。
- 添加手势处理程序事件。
- 在支持多点触控的平板电脑上运行应用程序。
- 尝试缩放手势
我希望捏/缩放手势应该在手势结束事件后触发事件,并带有指示它识别缩放事件的代码。相反,它会触发指示手势 ID 为 0(无法识别)。
为什么这不起作用?
【问题讨论】:
-
在文档使用“VCL”的地方,它总是指传统 Windows 应用程序(非 Metro、非 FireMonkey)的可视化组件库,所以是的,支持手势。
-
手势,是的。似乎并非所有人都支持多点触控手势。
-
请参阅“交互式手势”部分 - 直接讨论 VCL 和 FMX 的多点触控手势。我想这取决于您所指的确切支持类型 - 标准手势(捏/缩放,两指旋转等)。
-
我看到了,但我还没有看到它起作用。本质上,我认为我应该能够拥有一个新应用程序并执行以下操作: 1. 添加手势管理器 2. 进入表单的 Touch.InteractiveGestures 并包含 igZoom。 3.添加手势处理事件。 4. 在支持多点触控的平板电脑上试用该应用程序。捏合/缩放手势应该触发事件,代码表明它识别了缩放事件。相反,它会触发指示手势 ID 为 0(无法识别)。
-
OnGesture将持续触发执行的任何手势,无论它是否包含在组件的活动列表中。你确定你不只是响应事件的第一个实例(在系统发现它是缩放之前)?
标签: delphi gesture multi-touch