【问题标题】:Does Delphi 10 support multi-touch in traditional (non MetroUI) win 32/64 applications?Delphi 10 是否支持传统(非 MetroUI)win 32/64 应用程序中的多点触控?
【发布时间】:2016-07-12 15:21:10
【问题描述】:

Delphi 10 是否支持传统(非 MetroUI、非 FireMonkey)win 32/64 应用程序中的多点触控?

我对此进行了研究(并尝试过),但它不起作用。我认为我应该能够做到以下几点:

  1. 新的 Win32 VCL 应用程序
  2. 向表单添加手势管理器
  3. 将手势管理器分配给表单
  4. 进入表单的 Touch.InteractiveGestures 并包含 igZoom。
  5. 添加手势处理程序事件。
  6. 在支持多点触控的平板电脑上运行应用程序。
  7. 尝试缩放手势

我希望捏/缩放手势应该在手势结束事件后触发事件,并带有指示它识别缩放事件的代码。相反,它会触发指示手势 ID 为 0(无法识别)。

为什么这不起作用?

【问题讨论】:

  • 在文档使用“VCL”的地方,它总是指传统 Windows 应用程序(非 Metro、非 FireMonkey)的可视化组件库,所以是的,支持手势。
  • 手势,是的。似乎并非所有人都支持多点触控手势。
  • 请参阅“交互式手势”部分 - 直接讨论 VCL 和 FMX 的多点触控手势。我想这取决于您所指的确切支持类型 - 标准手势(捏/缩放,两指旋转等)。
  • 我看到了,但我还没有看到它起作用。本质上,我认为我应该能够拥有一个新应用程序并执行以下操作: 1. 添加手势管理器 2. 进入表单的 Touch.InteractiveGestures 并包含 igZoom。 3.添加手势处理事件。 4. 在支持多点触控的平板电脑上试用该应用程序。捏合/缩放手势应该触发事件,代码表明它识别了缩放事件。相反,它会触发指示手势 ID 为 0(无法识别)。
  • OnGesture 将持续触发执行的任何手势,无论它是否包含在组件的活动列表中。你确定你不只是响应事件的第一个实例(在系统发现它是缩放之前)?

标签: delphi gesture multi-touch


【解决方案1】:

处理 OnGesture 事件并自己识别手势。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-24
    相关资源
    最近更新 更多