超极本™ 设备和平板电脑 Windows* 触摸屏开发人员指南

下载文章

下载 超极本设备和平板电脑 Windows* 触摸屏开发人员指南 [PDF 958.6 KB]

目录

摘要

本指南包含有关应用程序开发人员在开发面向超极本™ 设备的应用时需要使用的 API 的信息。 所含信息涵盖开发在 Windows* 7、Windows* 8 桌面、Windows* Modern 用户界面上运行的应用,以及在网络浏览器中运行的应用。

本指南还描述用户对手势的通常期望,并提供开发满足触摸接口的一些指引。

引言

目前市面上已有多款具触摸屏功能的超极本™ 设备,因此软件开发人员希望创建能进行触摸屏输入的软件。 一个应用要完全启用触摸屏,必须满足三个标准:

  • 最常用控件的大小至少为 40X40 像素,足以用指尖无误地触及。
  • 支持相关的手势(滑动、缩放、旋转、双指点触、按压和点触),而效果发生于接触点。
  • 在滑动、缩放和旋转时,应用程序应产生顺畅而反应灵敏的视觉反馈,从而感觉上有高度互动性。

开发人员不论是编程新应用还是更新现有应用以支持触摸屏,本指南在其开发途中都将助其一臂之力。

要了解启用触摸屏的应用程序编程的更多信息,请参阅 MSDN 文章 Touch Interaction Design(触摸屏互动设计)

硬件要求

市场上有各种具备触摸屏功能的设备供消费者挑选。 开发人员试图开发对每一款设备都感觉自然的应用是一项颇具挑战性的任务。 一般而言,启用触摸的应用程序应当设计为能在任何目标设备上运行,而又充分利用每一款设备的触摸屏功能。 超极本设备代表了高端触摸屏功能,应当作为应用程序的触摸屏界面的设计点。

配备触摸屏的超极本设备自 2011 年起即已上市:

  • 第二代智能英特尔® 酷睿™ 处理器家族(代号 Sandy Bridge)。 这些系统与 Windows 7 一起推出,有些配备触摸屏。
  • 第三代智能英特尔® 酷睿™ 处理器家族(代号 Ivy Bridge)。 这些系统最初也与 Windows 7 一起推出,但现在则搭载 Windows 8 销售。从 2013 年起,这些系统将越来越多地具备触摸屏功能,特别是许多较新设计还是转屏本。

本开发人员指南的其余部分假定目标平台是具备触摸屏功能的超极本系统。 针对此设备设计的软件经改编即可应用于运行同一操作系统的其他启用触摸屏的设备。

超极本设备的操作环境

设计今日的应用程序需要仔细考虑客户最常用的环境以及应用程序最适用的环境。 不论一个应用的目标是 Windows 8 桌面还是作为 Windows 应用商店的应用,开发人员均需了解适用的接口。

如果一个应用的目标是 Windows 8 用户界面(又称为 Windows 应用商店应用),就必须使用 WinRT API。 如果一个应用要在 Windows 8 桌面环境中运行,就有更多选择: 来自 Windows 7 的传统 API,以及面向触摸屏的全新 Windows 8 API。 这些接口将在下文章节中深入讨论。 开发网络应用还有其它选项。 可用于网络浏览器的触摸接口也将在下文讨论。

触摸屏互动: 指针、手势和操控

触摸屏输入有不同层次的解释。 指针事件是最基本的,因为它们代表触摸屏的单点接触。 手势和操控事件建立在该基础之上。 手势事件提供简便方式,用以截获简单的长按手势。 操控事件用于使用物理手势模拟物理操控用户界面元素的触摸屏互动。 当用户与触摸屏的用户界面元素互动时,操控事件提供更为自然的体验。 现有的触摸接口对这三个层次的解释有不同级别的支持。

阅读 MSDN 上有关 Gestures, Manipulations and Interactions(手势、操控和互动)的更多信息。

指针互动

指针事件是来自输入设备(如鼠标、触控笔、单指或多指)的单一、独特的输入或“接触”。 当接触发生时,系统在最初检测到时产生一个指针,然后在指针离开检测范围或被取消时,将其销毁。 对多触点输入,每一接触是一个独特指针。 表 1 显示运行 Windows 7 和 Windows 8 的超极本设备可用的提取基本指针事件的接口。

表 1. 超极本设备可用的指针 API

操作系统兼容性 触摸接口 备注

Windows* 7(桌面)

WM_TOUCH

  • 也与 Windows 8 桌面环境兼容。
  • 最多同时接触数受硬件限制。
  • 无内建手势识别。
  • 因 WM_TOUCH 消息默认不发送,必须调用 RegisterTouchWindow

仅限 Windows 8(桌面)

WM_POINTER

  • 仅适用于 Windows 8 桌面环境。
  • Windows 8 动画和互动反馈默认生成,可用于进一步处理。

Windows Modern 用户界面

PointerPoint

  • 仅适用于 Windows 应用商店的应用。

Windows 7 和 Windows 8 可用的触摸屏接口:

参阅 MSDN 上的 Guidelines for common user interactions(常用用户互动指南)。

Windows 7 和 Windows 8 桌面触摸接口: WM_TOUCH

WM_TOUCH 消息可用于表示一个或多个指针(如手指或笔)接触了屏幕。

样本代码:

  • 英特尔开发人员专区:Touch for Windows Desktop(面向 Windows 桌面的触摸屏)(此样本包括自定的手势识别)。

指南:

Windows 8 桌面触摸接口: WM_POINTER

WM_POINTER 消息是 Direct Manipulation API(直接操控 API)的一部分,专门用于 Windows 8 桌面。 此接口可用于截获个别接触指针,也可截获手势和操控。 WM_POINTER 消息将在操控和手势互动一节进一步讨论。

MSDN 上的参考资料: Direct Manipulation APIs(直接操控 API)

Windows Modern 用户界面触摸接口: PointerPoint

PointerPoint 类是 Windows 运行时环境的一部分,仅与 Windows 应用商店的应用兼容。 它为与鼠标、触控笔或触摸的单一接触相关联的输入指针提供基本属性。 MSDN 提供有助于开发人员着手使用 PointerPoint 接口的样本代码。

MSDN 上的样本代码: Input: XAML user input events sample (输入:XAML 用户输入事件样本)

操控和手势互动

手势事件用于处置静态手指互动,如点触和长按。 二次点触和右点触衍生自这些基本手势:

  • 手势: 由输入设备(可以是一个或多个手指、触控笔或者鼠标)执行的物理动作或运动。
  • 操控: 一个对象对于手势的即刻而持续的响应。 例如,滑动手势导致一个对象以某种方式移动。
  • 互动: 如何解释一种操控,以及该操控导致的命令或动作。 例如,滑动和刷动手势二者相似,但随是否超过距离阈值而产生不同的结果。

表 2. 用于操控互动的基本手势

手势 类型 说明

长按

静态手势

检测到单一接触且不移动。 长按导致显示详细信息或图解,但不完成一个动作。

点触

静态手势

一个手指接触屏幕并立即离开。

转动

操控手势

两个或多个手指接触屏幕,再以顺时针或逆时针方向移动。

滑动

操控手势

一个或多个手指接触屏幕,再往同一方向移动。(英文 slide 或 pan 均指滑动。)

刷动

操控手势

一个或多个手指接触屏幕,再往同一方向短距离移动。

抓动

操控手势

两个或多个手指接触屏幕,再收拢或分开。

拉伸

操控手势

两个或多个手指接触屏幕,再分开。


表 3. 超极本™ 设备可用的手势互动

操作系统兼容性 手势接口 备注

Windows 7

Windows 8(桌面)

WM_TOUCH + IManipulationProcessor

  • 这一组合给予开发人员只在 Windows 8 桌面可用的 WM_POINTER API 功能。
  • 最多触点数目取决于硬件。

Windows 7

Windows 8(桌面)

WM_GESTURE + GESTUREINFO 结构

  • 最多同时两个触点
  • 不允许同时手势
  • 如果应用程序要求比 WM_GESTURE 消息可提供的更复杂的操控,需使用 WM_TOUCH 接口编写自定手势识别器。

Windows 8(桌面)

WM_POINTER

Windows Modern 用户界面

PointerPoint

  • 使用 GestureRecognizer 所致的手势互动,GestureRecognizer 接受 PointerPoint 的输出。

MSDN 上的参考资料:


表 4. 标准预期互动及接触互动的后果

互动 说明

长按——了解信息

显示详细信息或图解。

点触——实现主要动作

激发主要动作,例如启动应用程序或执行命令。

滑动

主要用于滑动互动,但也可用于移动、画图或书写。 也可用于通过檫拭动作而对准细小而密集的元素(手指滑过关联的对象,如单选按钮)。

刷动——选择、执行命令和移动

手指滑过短距离,与滑动方向垂直,在列表或网格中选择。

抓动和拉伸——缩放。

此互动不但用于调整大小,也可通过“语义缩放”而跳转至内容的开头、结尾或任何部分。 SemanticZoom(语义缩放)控件导致视图镜头拉远,以显示项目群组,便于快速返回其中。

转动——旋转

用两个或多个手指转动对象。

从边缘刷动,以执行应用命令

从屏幕底缘或顶缘刷动以显示应用命令。

从边缘刷动,以执行系统命令

从屏幕右缘刷动以显示用于执行命令的“美眉”。 从屏幕左缘刷动导致循环通过目前在运行的应用,而从屏幕顶缘向底缘滑动关闭该应用。 从屏幕顶缘向左缘或右缘滑动将当前应用固定于屏幕一侧。

解释 Windows 7 桌面的操控和手势互动

IManipulationProcessor 接口可与 WM_TOUCH API 合用,以为用户界面对象提供一种方式来增添平移、旋转、缩放和惯性动作。 此种组合提供与 WM_POINTER 的手势识别特性相类似的功能。 Manipulation Processor(操控处理器)启用后,触摸手势一发生,操控就立即开始。

样本代码:

WM_GESTURE 消息有一个名为 GESTUREINFO 的结构,可用于解释手势和操控。 MSDN 的 WM_GESTURE 网页有一个实例,显示如何使用 GESTUREINFO 结构获取手势特定的信息。

请注意,WM_GESTURE 有局限性,例如,最多同时接触输入数只有两个,也不支持同时手势。 对于要求更多功能但仍需支持 Windows 7 桌面的应用,使用 WM_TOUCH 接口,并或者编写自定手势识别器(如下文自定手势识别一节所述),或者与 WM_TOUCH 一起使用 Manipulation Processor(操控处理器)接口。

英特尔开发人员专区上的样本代码(WM_GESTURE API + GESTUREINFO: Sample Application: Touch for Desktop(样本应用程序:面向桌面的触摸屏)

要了解有关启用触摸的应用的更多信息,请参阅 MSDN 文章: Touch Interaction Design(触摸互动设计)。

在 Windows 8 桌面应用中处置操控和手势互动

专门用于 Windows 8 桌面的应用程序可使用 Direct Manipulation API (WM_POINTER 消息)。 此指针消息被传递至一个内部 Interaction Context(互动场景)对象,该对象无需实施自定手势识别器即可识别操控。 有一种回调基础设施,在该设施中所有涉及被追踪的接触的互动均被管理。

Direct Manipulation(直接操控)设计为可处置操控和手势两种互动,并支持两种处理输入的模式:

  1. 自动/独立: 窗口消息自动被委托线程上的 Direct Manipulation 截取并处置,而不必运行应用程序代码,使之独立于应用程序。
  2. 手动/依赖: 窗口消息被在用户界面线程中运行的窗口过程接收,窗口过程再调用 Direct Manipulation 来处理该消息,使之依赖于应用程序。

通过初始化 Direct Manipulation 并准备好系统进行输入处理,即可截获手势。

参阅 MSDN 上的 Quickstart: Direct Manipulation,该文章概述使用 Direct Manipulation 时,完成典型任务所需的 API 调用。

Windows 8 Modern 用户界面中操控和手势互动的处置

使用 GestureRecognizer API 处置指针输入以处理操控和手势事件。 PointerPoint 方法返回的每一个对象被用于将指针数据递交给 GestureRecognizer。 手势识别器侦听并处置指针输入,并处理静态手势事件。 关于如何创建 GestureRecognizer 对象然后针对该对象启用操控手势的实例,参阅 MSDN GestureRecognizer 网页(在下文引用)。

MSDN 上的参考资料:

英特尔开发人员专区上 的样本代码Sample Application: Touch for Windows* Store(样本应用程序:面向 Windows* 应用商店的触摸屏)

自定手势识别

尽可能使用内建手势识别(见表 3)。 如果内建的手势和操控接口未能提供所需的功能,或者也许应用需要更迅速地消除点触与手势的歧义,就可能必须编写自定手势识别软件。 在此情况下,客户期待涉及与该应用的用户界面元素直接互动的直觉体验。 自定互动最好以标准控件为基础,以保持用户动作一致而可发现。 自定互动只应用于要求明确而基本互动不支持该应用所要的功能时。 参见表 4 所列常用和期望的互动及触摸互动的后果。

英特尔开发人员专区上的代码样本(带自定手势识别的 WM_TOUCH): Touch for Windows Desktop( 面向 Windows 桌面的触摸屏)

网络浏览器中的触摸支持

在网络浏览器中运行的应用也可用触摸输入,随浏览器不同而有不同程度的支持。 由于网络浏览器的功能改变迅速,通常最好检测所支持的特性而不是特定浏览器。 业已证明,一旦决定要支持的是 Internet Explorer (IE) 10、构建于 Webkit* 之上的浏览器或是另一个浏览器,特性检测是更有效的技术。 特性检测需要较少维护,原因如下:

  • 新浏览器不断问世,而现有浏览器经常更新。 现有代码不一定在新版浏览器中被采用。 更新版浏览器可能支持在浏览器检测设计时尚不支持的标准和特性。
  • 新设备经常捆绑新版浏览器,因此必须不断检查浏览器检测代码以支持新浏览器。 为每一款浏览器创建定制的实施可能极其繁复。
  • 许多浏览器支持修改 user-agent string(用户-代理字符串)能力,使得浏览器检测难以准确辨别。

WebKit 是 Apple Safari* 和 Google Chrome* 的引擎,而 Opera 不久也将在其浏览器中使用 WebKit。 Internet Explorer 10 不使用 WebKit;然而,WebKit 和 IE 10 均构建于 Document Object Model(文档对象模型,DOM)Level 3 Core Specification(第 3 级内核规范)之上。 要复习与触摸事件关联的标准,参阅该标准 2013 年 1 月的 Touch Events Version 1(触摸事件,第一版)。

参考资料:

IE 10 有其自己的触摸接口,为处理触摸事件必须调用之。 使用 navigator 对象及 userAgent 属性以确定浏览器是否支持所要的特性。 以下实例表明浏览器是 Internet Explorer。

用法:

[javascript]
<script type="text/JavaScript">
If (navigator.userAgent.indexOf(“MSIE”)>0)
    { 
         // Run custom code for Internet Explorer.
    }
</script>
[/javascript]

图 1. 确定浏览器是否 Internet Explorer* 的代码片段

使用 hasFeature 方法来确定浏览器是否支持特定特性。 例如,下例显示如何确定浏览器是否支持触摸事件(也适用于 IE 10):

[javascript]
var touchSupported = document.implementation.hasFeature("touch-events","3.0");
[/javascript]

例中,检查的特性是 touch-events,而 3.0 是关注的 DOM 规范级别。然后,应用程序即可侦听以下触摸事件: touchstarttouchend、touchmovetouchcancel

参考资料hasFeature method(hasFeature 方法)

要使用基于 WebKit 的浏览器(Chrome、Safari 等)处理触摸事件,只需设定以下三个事件即可涵盖主要的输入状态:

 [javascript]
canvas.addEventListener( ‘touchstart’, onTouchStart, false );
canvas.addEventListener( ‘touchmove’, onTouchMove, false);
canvas.addEventListener( ‘touchend’, onTouchEnd, false);
[/javascript]

对 Internet Explorer,则参照 MSPointer 事件:

[javascript]
canvas.addEventListener( ‘MSPointerDown’, onTouchStart, false );
canvas.addEventListener( ‘MSPointerMove’, onTouchMove, false);
canvas.addEventListener( ‘MSPointerUp’, onTouchEnd, false);
[/javascript]

手势事件也有类似的侦听器。 对非 IE 10 浏览器,侦听器是 gestureStart、gestureChange 和 gestureEnd。

从 MSDN 下载处置 DOM 指针事件的样本代码: Input DOM pointer event handling sample(输入 DOM 指针事件处置样本)。

Internet Explorer 10 及其与 Windows 7 的兼容性

虽然 IE 10 不使用 WebKit,但它构建于 DOM Level 3 Event(DOM 第 3 级事件)、HTML5 和 Progress Event(进展事件)标准之上。 本节提供有关 IE 10 及其如何与 Windows 7 互动的信息。

标准:

对下列 Document Object Model (DOM) 事件,在 Windows 7 上运行的 Internet Explorer 10 将触摸和笔输入当作模拟鼠标输入来处置:

  • MSPointerCancel
  • MSPointerDown
  • MSPointerMove
  • MSPointerOver
  • MSPointerUp

在 Windows 7 上运行的 IE 10 不会发出以下任何 DOM 手势事件:

  • MSGestureChange
  • MSGestureEnd
  • MSGestureHold
  • MSGestureStart
  • MSGestureTap
  • MSManipulationStateChanged

表 5. 面向 Internet Explorer* 10 的触摸接口

接口 Windows* 7
MSVS 2010
Windows 8
MSVS 2012(桌面)
Windows 8 Modern 用户界面 备注

MSGESTURE

  • 方便地获取高级别手势(如长按、滑动和点触)而无需逐一截获指针事件。

MSPOINTER

  • DOM 对象模型 (DOM) 内核的一部分
  • 方法 getCurrentPointgetIntermediatePoints 均能提取 PointerPoint 对象集合,只在 Windows 8 可用。

要了解面向 IE 10 开发启用触摸的网络应用的更多信息 (MSDN): Internet Explorer 10 Guide for Developers(面向开发人员的 Internet Explorer 10 指南)

MSDN 上的样本代码: Input: Manipulations and gestures (JavaScript)(输入:操控和手势 (JavaScript))

鉴别触摸功能

不论是原生应用还是网络应用,开发人员都需加入检查硬件触摸功能的代码,以便应用程序可相应地配置其界面。 使用下列方法来测试触摸功能。

Windows 7 和 Windows 8 桌面

面向 Windows 7 或 Windows 8 桌面的应用可调用 GetSystemMetrics,并以 SM_DIGITIZER 为参数。 以下代码片段是一个触摸屏样本的一部分,该样本可从英特尔开发人员专区下载: Touch for Windows Desktop(面向 Windows 桌面的触摸屏)

参考资料:

[cpp]
 // 检查触摸支持
 // 通过调用 GetSystemMetrics 获取触摸功能
    BYTE digitizerStatus = (BYTE)GetSystemMetrics(SM_DIGITIZER);
 // 硬件触摸功能 (0x80);就绪 (0x40)
 if ((digitizerStatus & (0x80 + 0x40)) != 0) //堆栈就绪 + 多点触摸
 {
        RegisterTouchWindow(m_pWindow->GetHWnd(), TWF_WANTPALM);
 }
[/cpp]

图 2. Windows* 7 辨别触摸功能实例

请注意,GetSystemMetrics 可用于发现最多可用触点数目。

[cpp]
	BYTE nInputs = (BYTE)GetSystemMetrics(SM_MAXIMUMTOUCHES);
[/cpp]

Windows 8(Windows 应用商店的应用)

通过使用 TouchCapabilities 类可确定 Windows 应用商店应用的触摸功能。 以下代码片段取自 MSDN 上演示其用途的代码样本: Input: Device capabilities sample(输入:设备功能样本)。

参考资料:

[cpp]
void SDKSample::DeviceCaps::Touch::TouchGetSettings_Click(Platform::Object^ sender, Windows::UI::Xaml::RoutedEventArgs^ e)
{
    Button^ b = safe_cast<Button^>(sender);
    if (b != nullptr)
    {
        TouchCapabilities^ pTouchCapabilities = ref new TouchCapabilities();
        Platform::String^ Buffer;

        Buffer = "There is " + (pTouchCapabilities->TouchPresent != 0 ? "a" : "no") + " 
              digitizer present\n";
        Buffer += "The digitizer supports " + pTouchCapabilities->Contacts.ToString() + " 
              contacts\n";

        TouchOutputTextBlock->Text = Buffer;
    }
}
[/cpp]

图 3. 辨别触摸功能的 Windows* 用户界面实例

网络应用

对 Internet Explorer,使用下文叙述的 msMaxTouchPoints 属性:

测试具触摸功能的硬件:
If (navigator.msMaxTouchPoints) {…}

测试具多点触摸功能的硬件:
If (navigator.msMaxTouchPoints >1) {…}

获取硬件支持的最多触点数目:
Var touchPoints = navigator.msMaxTouchPoints;

对 Chrome 和 Safari,使用以下实例(与上例相同,仅以 maxTouchPoints 取代 msMaxTouchPoints):

[javascript]
var result = navigator.maxTouchPoints;
[/javascript]

从网络应用普遍性测试触摸设备可能有点棘手。虽然有些函数在有些浏览器上功能正常,但另一些函数表明存在触摸功能,但实际上并不存在;亦即,如浏览器本身支持触摸,即使设备并无触摸功能,它仍可能报告有触摸功能。

请注意,在 Windows 7 上运行的 IE 10(桌面)中,MaxTouchPoints 将返回 0。

参考资料:

启用触摸屏的超极本设备的用户界面设计

面向超极本设备设计的应用可能需要处理点触、滑动、缩放等手势。启用触摸的应用除了将原始指针事件传递给手势检测外,可能不需干什么。

在设计新应用程序时,应期待触摸将是主要输入方法。鼠标和触控笔支持不需额外工作;然而,软件开发人员在设计触摸优化的应用时,应考虑其它一些因素。

表 6. 启用触摸的应用的考虑因素

因素 触摸 鼠标/触控笔

精确度

  • 指尖的接触面积远大于单一 x-y 坐标。
  • 接触区的形状随移动而变
  • 没有鼠标游标帮助定标
  • 鼠标/触控笔给出精确的 x-y 坐标
  • 键盘焦点明确

人体解剖

  • 指尖移动不精确
  • 触摸屏上的有些区域可能难以触及
  • 对象可能被一个或多个指尖遮蔽
  • 鼠标/触控笔更易执行直线移动
  • 鼠标/触控笔可触及屏幕任何部分
  • 间接输入设备不会造成阻挡

对象状态

  • 触摸屏使用双态模式。 触摸屏表面被接触或未被接触。 不存在激发额外视觉反馈的“浮旋”状态。
  • 有三种状态: 接触、未接触、浮旋(聚焦)

富互动

  • 多点触摸 – 允许多个输入点(指尖)。
  • 只支持单个输入点。

软件开发人员应提供互动时的相应视觉反馈,以便用户能识别、了解及适应应用程序和操作系统如何解释其互动。视觉反馈对用户极为重要,可让用户知道其互动是否成功,以便改进其控制感觉。 视觉反馈有助于减少错误,帮助用户理解系统和输入设备。

开发触摸屏应用程序的资源

英特尔开发人员专区上的相关文章:

  1. Comparing Touch Coding Techniques – Windows 8 Desktop Touch Sample(比较触摸屏编码技术 – Windows 8 桌面触摸屏样本)
  2. Exploring Touch Samples for Windows* 8 apps(探索 Windows* 8 应用的触摸屏样本)
  3. Touch Code Sample for Windows* 8 Store(面向 Windows* 8 应用商店的触摸屏代码样本)
  4. Touch Code Sample for Windows* 8 Desktop(面向 Windows* 8 桌面的触摸屏代码样本)
  5. Porting Win32 Apps to Windows 8 Desktop(将 Win32 应用移植至 Windows 8 桌面)
  6. Real-Time Strategy Game with Touch Screen(利用触摸屏的实时战略游戏)

MSDN 上的相关文章

  1. Windows 7 Touch Input Programming Guide(Windows 7 触摸屏输入编程指南)
  2. Architectural Overview (Windows 7)(架构概述 (Windows 7))
  3. Troubleshooting Applications(应用程序故障排除)
  4. Adding Manipulation Support in Unmanaged Code(在未管理的代码中增添操控支持)
  5. Windows Touch Samples(Windows 触摸屏样本)
  6. Build Advanced Touch Apps in Windows 8* (Video)(构建 Windows 8* 中的高级触摸应用——视频)
  7. Windows 8 SDK(Windows 8 软件开发套件)
  8. Input: Touch hit testing sample(输入:触击测试样本)
  9. Desktop App Development Documentation (Windows)(桌面应用开发文档 (Windows))
  10. Windows Touch Gestures Overview (Windows)(Windows 触摸手势概述 (Windows))
  11. Getting Started with Windows Touch Messages (Windows)(Windows 触摸消息入门 (Windows))
  12. Get PointerTouchInfo function (Windows)(GetPointerTouchInfo 函数 (Windows))
  13. (MSDN) Internet Explorer 10 Guide for Developers((MSDN) 面向开发人员的 Internet Explorer 10 指南)

结束语

启用触摸的应用程序的开发人员,不论其应用将原生运行还是作为网络应用运行,都必须清晰了解哪些 API 可供其使用。本指南叙述下列环境中可用的接口: Windows 7、Windows 8 桌面、Windows Modern 用户界面,以及在网络浏览器中运行的应用。 虽然手势和操控在 Windows 7 中也有可能,但应用开发人员会发现 Windows 8 API(面向桌面的和/或面向 Modern 用户界面的 API)为自动手势识别提供最佳选项。

编写启用触摸的网络应用的开发人员需针对 IE 10 检查其代码,因为 IE 10 有其自己的接口,必须在处理点触、手势和操控时使用。 其它基于 Webkit 的浏览器也根据 DOM 第 3 级标准,并支持触摸和手势事件。

本指南还叙述常见手势和操控互动,并为开发启用触摸的应用提供一些指引。

作者简介

Gael Hofemeier 是英特尔的宣教应用程序工程师。 她的工作重点是为针对英特尔® 架构编写软件的开发人员提供所需的技术内容。 除了撰写内容外,她还管理英特尔开发人员专区上的企业客户端论坛。

阅读 Gael 的作者博客网页

英特尔、英特尔标识、超极本和酷睿是英特尔公司在美国和/或其他国家(地区)的商标。

版权所有 © 2013 年,英特尔公司。 所有权利受到保护。

* 文中涉及的其它名称及商标属于各自所有者资产。

如需更全面地了解编译器优化,请参阅优化注意事项