win7 触摸屏系统应用广泛,软件操作方便,功能强大,现以被很多硬件厂商应用。 我曾用一台装有win7 的汉王平板电脑进行了多点触摸软件的开发。

     开发环境及条件:

1. 平板电脑+ win7触摸系统

2. 编译平台  win7+vs2010 。(我在xp上没有编译成功过,但win7+vs2010是可以编译成功的)

须要用到的函数:

1.    检測该系统有没有触摸硬件设备或是否就绪

BYTE digitizerStatus =(BYTE)GetSystemMetrics(SM_DIGITIZER);
if((digitizerStatus &(0x80 + 0x40)) == 0)
{
AfxMessageBox("没检測到多点触控设备或设备没有就绪");
}

2.  注冊接受触摸消息的窗体,使该窗体能接收WM_TOUCH消息

RegisterTouchWindow(hwnd,0)

3.  获取触摸点数,及该点的坐标信息

GetTouchInputInfo((HTOUCHINPUT)lParam,numInputs,ti,sizeof(TOUCHINPUT))

  实例代码:

LRESULT CALLBACK WinProc1(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
LRESULT bRet;
if(uMsg==WM_GESTURE)
{
if(!g_bTouch)
{
RegisterTouchWindow(hwnd,0);
g_bTouch=TRUE;
}
}
if(uMsg==WM_TOUCH)
{
numInputs =(int)wParam;
TOUCHINPUT *ti= new TOUCHINPUT[numInputs];
if(GetTouchInputInfo((HTOUCHINPUT)lParam,numInputs,ti,sizeof(TOUCHINPUT)))
{
if(numInputs==1) //单向拖动
{
if(ti[0].dwFlags &TOUCHEVENTF_DOWN)
{
//记录按下坐标
}
if(ti[0].dwFlags &TOUCHEVENTF_DOWN)
{
//记录松开坐标
从坐标可以分析出拖动方向方位,可进行翻页等应用
}
}
else if(numInputs==2) //两点缩放
{
if((ti[0].dwFlags &TOUCHEVENTF_DOWN)&&(ti[1].dwFlags &TOUCHEVENTF_DOWN))
{
//获取按下去两点坐标
}
if((ti[0].dwFlags &TOUCHEVENTF_MOVE)&&(ti[1].dwFlags &TOUCHEVENTF_MOVE))
{
//拖动时两点坐标
}
if((ti[0].dwFlags &TOUCHEVENTF_UP)||(ti[1].dwFlags &TOUCHEVENTF_UP))
{
//松手时两点坐标。
//依据不同状态下的坐标进行相关应用。。。
}
}
CloseTouchInputHandle((HTOUCHINPUT)lParam);
delete []ti;
bRet=0;
}
}

windows 7多点触摸开发的更多相关文章

  1. WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序

    原文:WPF 多点触摸开发[2]:WPF触摸的几个手势的执行顺序 前面我讲了在win7下使用模拟器,进行调试模拟多点触摸,其实际开发中这样也比较麻烦.. 要拿几个鼠标. 所以更多的人会 买个触摸套 套 ...

  2. ios实例开发精品文章推荐(8.12)11个处理触摸事件和多点触摸的JS库

    11个处理触摸事件和多点触摸的JS库 触摸屏是现在所有智能手机的标配,还包括各种平板设备,而且很多桌面也慢慢在开始支持触摸操作.要开发支持触摸屏设备的Web应用,我们需要借助浏览器的触摸事件来实现. ...

  3. 移动web开发,12个触摸及多点触摸事件常用Js插件

    如今移动互联网已经占据了主流地位,越来越多的开发者开始从桌面转向移动平台.与桌面开发不同的是,在移动领域中,不同的操作系统.大量不同屏幕尺寸的移动设备.触摸手势操作等,这都给开发者带来了一定的难度和挑 ...

  4. <WEB>平板_手机开发_13 个处理触摸事件和多点触摸的JS 库

    触摸屏是现在所有智能手机的标配,还包括各种平板设备,而且很多桌面也慢慢在开始支持触摸操作.要开发支持触摸屏设备的 Web 应用,我们需要借助浏览器的触摸事件来实线. 下图是各种触摸事件说明: 本文我们 ...

  5. ios开发——实用技术篇Swift篇&多点触摸与手势识别

    多点触摸与手势识别 //点击事件 var atap = UITapGestureRecognizer(target: self, action: "tapDo:") self.vi ...

  6. 多点触摸(MT)协议(翻译)

    参考: http://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt 转自:http://www.arm9home.ne ...

  7. 毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库

    毫无保留开源我写的:IOS Android Ipad 多点触摸通用js 库 在线演示地址: http://m.yunxunmi.com/ 支持 IOS Android Ipad 等不同操作系统的手持或 ...

  8. Windows 8.1 Preview 开发资源汇总

    Microsoft Build 2013开发者大会已经结束,从Session安排上看主要以Windows 8.1为主.我相信大家有已经或多或少的体验过Windows 8.1 Preview了,关于操作 ...

  9. 多点触摸画板(MultiTouchCanvas)

    这是个简单的支持多点触摸的画板控件, 绘制功能基于WPF InkCanvas,也是我drawTool系列文章的开篇. 阅读该文章后可能产生一些问题: 1. 如果对生成的笔迹对象进行控制 如果要对生成的 ...

随机推荐

  1. 获取wpf datagrid当前被编辑单元格的内容

    原文 获取wpf datagrid当前被编辑单元格的内容 确认修改单元个的值, 使用到datagrid的两个事件 开始编辑事件 BeginningEdit="dataGrid_Beginni ...

  2. 《C陷阱与缺陷》整理二

    1.数组名作实參     在C语言中,我们没有办法将一个数组作为函数參数传递,假设我们使用数组名作为參数.这个时候数组名立马会被转换为指向该数组的第一个元素的指针.     关于这一点的理解能够向前深 ...

  3. 跟我一起写 Makefile(一)

    跟我一起写 Makefile  陈皓 概述—— 什么是makefile?也许非常多Winodws的程序猿都不知道这个东西,由于那些Windows的IDE都为你做了这个工作,但我认为要作一个好的和pro ...

  4. Android应用公布的准备——渠道注冊与认证

    今天早上申请了一个早上的渠道账号,这工作真是太繁琐,申请的是企业账号,须要营业执照等相关资料,假设申请个人的话预计须要身份证相关信息.以下贴出国内主流的几个渠道.不全然,可是基本上涵盖了大部分. 36 ...

  5. Eclipse Workspace Unavailable

    开启Eclipse 提示: Workspace Unavailable: Workspace in use or cannot be created, choose a different one. ...

  6. delpi中的RTTI初试

    java中的反射机制使我们能够在运行期间获取运行期类的信息,那么在delphi中有没有这样的功能呢?答案是有,实现这种功能的机制在delphi中叫做RTTI,废话少说,先来一段demo: 1.先定义一 ...

  7. Android开源框架AsyncHttpClient (android-async-http)使用

    android-async-http 开源框架可以使我们轻松地获取网络数据或者向服务器发送数据,最关键的是,它是异步框架,在底层使用线程池处理并发请求,效率很高,使用又特别简单. 以往我们在安卓上做项 ...

  8. 【Java数据结构】Java数据结构之链表反转

    我们都知道用C可以很简单的实现单链表反转,今天来学习下,在Java中如何实现链表反转. 思路很简单,定义一个类,这个类分成2块,一块是表示自身的标志,另外一个存储指向下一个元素的引用.通过互换相邻两个 ...

  9. mysql基础: mysql列类型--字符串

    mysql列类型:整型   http://blog.csdn.net/jk110333/article/details/9342283 mysql列类型--时间和日期  http://blog.csd ...

  10. 自定义ALV控件的工具条按钮

    *&---------------------------------------------------------------------* *& Report YTEST028 ...