Windows mobile 6.5开发者工具包在6月初就已经面世了。它给广大技术爱好者带来的新特性包括Widgets和Gesture API。在Widgets应用上,已经有开发人员进行了探索和尝试,包括Guojing、马老师和Jake.NET等。这次我们就一起来看看TDK中Gesture API的例子。

在开始之前,对于Gesture API,我们需要注意的有以下两点:

第一,Gesture API只能使用在Windows Mobile 6.5平台上,之前版本的Windows Mobile都不支持,所以,就不要想着在Windows Mobile 6.0或者6.1(因为目前很多人的设备都是这个版本)上来开发基于Gesture API的应用。

第二,Windows Mobile 6.5平台上,也只是Classic and Professional SKUs支持Gesture API,,因为大家知道,Standard是不支持触摸的。

TDK自带的Gesture API例子位于%\Windows Mobile 6.5 Developer Tool Kit\Samples目录下。包含三个工程:GestureMetricsSample、PhysicsEngineSample和WagSample。这三个工程分别用到了Gesture.h、GesturePhysicsEngine.h和WindowAutoGesture.h这三个头文件,都位于%\Program Files\Windows Mobile 6 SDK\PocketPC\Include\Armv4i目录下。

Gesture Metrics Sample

GestureMetricsSample这个例子展示了如何使用WM_GESTURE中的GID_HOLD(保持), GID_SELECT(选择)和GID_DOUBLESELECT(双击)这三个消息。

当用户用触笔单击屏幕的时候,启动保持定时器(ID_HOLD_TIMER);如果在WM_GESTURE中检测到是GID_HOLD,那么就kill这个保持定时器(ID_HOLD_TIMER),并提示用户;如果在WM_GESTURE中检测到是GID_SELECT,那么就启动双击定时器(ID_DOUBLESELECT_TIMER);如果在WM_GESTURE中检测到是GID_DOUBLESELECT,那么就kill这个双击定时器(ID_DOUBLESELECT_TIMER),并提示用户。

  

Physics Engine Sample

PhysicsEngineSample这个例子展示了如何使用WM_GESTURE中GID_PAN, GID_SCROLL 和GID_END这三个消息。需要注意的是,在使用Physics Engine之前,需要声明一个HPHYSICSENGINE类型的全局变量。

有了这个Physics Engine,我们就可以在设备上浏览大分辨率的图片,使用触笔在触摸屏上滑动,选择需要浏览的部分,在过渡时,具有一个滑动滚屏的效果,这个功能目前是新加入的。大家可以尝试用windows mobile自带的"图片和视频"工具打开图片,这时是没有滑动滚屏的效果的,但是程序中如果我们使用了Physics Engine,就可以产生滑动滚屏的效果。

 

WagSample

WagSample这个例子实现的功能和PhysicsEngineSample这个例子是一样的,不同的是,它加入了用户的选择,即我们用户可以选择“是否支持触摸笔”、“是否支持滚屏”等等。

 

这里只是很肤浅地介绍了WM6.5 TDK自带的Gesture API例子,主要是MSDN上的资料实在是太少(目前好像还没有)。基本上是把自己使用这三个例子的体会发上来和大家共享一下。下一步的目标是自己做一个实例,学会如何使用Gesture API,并逐渐解开它神秘的面纱。

本文转自施炯博客园博客,原文链接:http://www.cnblogs.com/dearsj001/archive/2009/07/02/WindowsMobileGestureAPI.html,如需转载请自行联系原作者

Gesture APIs-Furthering Windows Mobile 6.5 Touch Gesture Framework相关推荐

  1. Windows Mobile, WinCe使用 .NET Compact Framework 进行3G和RAS应用的开发

    在.NET Compact Framework下开发3G应用可以有两个options,1:AT command, 2:RAS.其实RAS最终也是通过AT command来管理3G设备,RAS屏蔽了技术 ...

  2. Windows Mobile 开发系列文章收藏 - Windows Mobile 6.x

    收集整理一些Windows Mobile 6.x开发相关文章, 文章及相关代码大部分搜集自网络,版权属于原作者! 智能手机      手机词汇      研发手机基本流程 WAP协议分析(1)     ...

  3. Windows Mobile下使用CppUnitLite输出测试结果

    背景 TDD测试驱动开发是当前流行的开发方法及模式.遵循TDD的方法对开发程序库(Library)特别有用,因为Library就是为第三方提供一定功能接口的实现,使用TDD的方法可以预先为定义的接口提 ...

  4. Windows Mobile Sensors API库的设计

    背景 热烈欢迎 simon_new88 同学加入 Mobile Sensors API - Native unified APIs for Windows Mobile Sensors 项目.为了他更 ...

  5. Windows Mobile动手实验集锦

    Windows Mobile动手实验集锦 http://blog.csdn.net/zhangbosun/archive/2007/06/14/1652862.aspx 不过文章里提到的一些链接已经失 ...

  6. Windows Mobile使用Shared Memory(共享内存)进行IPC(进程间通信)的开发

    背景 在Unix-like系统进行IPC(Inter-process communication)通信,Shared memory是效率最高的,我称之为IPC的王中王. 简介 本文讲述在Windows ...

  7. 《Windows Mobile平台应用与开发》写作工作顺利进行中

    <Windows Mobile平台应用与开发>(书名暂定)是由微软(中国)公司发起,人民邮电出版社负责出版发行,聚集众多Windows Mobile领域的MVP.开发技术专家和技术讲师共同 ...

  8. Windows Mobile】认识Windows Mobile

    Windows Mobile 开发简介: Windows Mobile 开发基于 .NET Compact Framework,简称 .NET CF: 1. .NET CF 开发有别于 .NET Fr ...

  9. ILockBytes Windows Mobile 6.5

    ILockBytes Windows Mobile 6.5 https://msdn.microsoft.com/zh-cn/library/aa911496(en-us,MSDN.10).aspx ...

最新文章

  1. GHOST还原教程详细
  2. 文凭-决定的人生成败?上
  3. ASP.Net面向对象思想
  4. VC++ COM、ATL开发入门示例
  5. (转)php-cli模式学习(PHP命令行模式)
  6. 工作流实战_23_flowable 任务监听器 事件监听器
  7. 程序挂起时自动创建转储文件
  8. XX证券 机器学习平台使用情况访谈总结
  9. 008_MAC 终端使用技巧
  10. CrystalBall
  11. MATLAB的图像显示函数imshow()详解
  12. oracle12能卸干净吗,Oracle卸载干净方法
  13. JavaScript基础知识总结(6张思维导图)
  14. ThinkPHP5.1根据时间范围查询这个期限内生日的人
  15. 绘制自己的人际关系图_总算懂了如何画人际关系图
  16. 第7期 DApp 榜单:长夜将至,我们将至死守望
  17. unity的Rotation值如何修改
  18. 鸿蒙当中使用WebView报空指针的问题
  19. 热烈祝贺|酒事有鲤盛装亮相2023中国(山东)精酿啤酒产业发展创新论坛暨展览会
  20. 法国内政部选择IDEMIA和Sopra Steria为其开发新标准边境管制系统

热门文章

  1. 模糊搜索cell效果
  2. 实践:不同编程语言, 函数检测多属性的全部合理的具体实现。
  3. CentOS 6.0 + Zabbix 1.8.5 服务器端安装
  4. 开源计算机视觉库 OpenCV 被曝两个严重的任意代码执行漏洞(详情)
  5. 年会季来临,年会会场管理一招搞定!
  6. Spring+SpringMVC+MyBatis整合基础篇
  7. cocos2d-x 2.x版本接入bugly的总结
  8. SpringMVC3 AnnotationMethodHandlerAdapter与mvc:annotation-driven冲突的解决方案
  9. 推送技术 Push Notification
  10. (转)问题: Oracle Database 10g 未在当前操作系统中经过认证