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. 三家DirectUI的商业公司

    目前正在研究DirectUI技术,分享一点心得给大家.关于DirectUI技术的介绍我在这里就不说了,可以上Google查一下,非常丰富.目前使用DirectUI技术开发的软件产品原来原丰富,比如QQ ...

  2. 将 mp3 等音乐资源以资源形式嵌入 exe 文件中

    引用:http://www.easyx.cn/skills/View.aspx?id=6 本文讲解怎样将 mp3 等音乐资源以资源形式嵌入 exe 文件中,并通过 mciSendString 调用.嵌 ...

  3. Swing Dance!摇摆舞!小组

    Swing Dance!摇摆舞!小组 Swing Dance!摇摆舞

  4. Jquery文本框小例(必填框)

    <script src="../JavaScript/jquery-2.0.2.min.js"></script> <script type=&quo ...

  5. iOS- 如何集成支付宝

    链接地址:http://www.cnblogs.com/qingche/p/3556365.html 现在不少app内都集成了支付宝功能   使用支付宝进行一个完整的支付功能,大致有以下步骤: 1&g ...

  6. BCM wifi驱动学习

    BCMwifi驱动学习 一.wifi详解1 1.代码路径:Z:\home\stonechen\svn\TD550_X\TD550\3rdparty\wifi\BCM43362\special\bcmd ...

  7. boost::thread类

    前言 标准C++线程即将到来.预言它将衍生自Boost线程库,现在让我们探索一下Boost线程库. 几年前,用多线程执行程序还是一件非比寻常的事.然而今天互联网应用服务程序普遍使用多线程来提高与多客户 ...

  8. URL vs. HTML 录制模式

    转自:http://blog.csdn.net/testing_is_believing/article/details/5274188 一般来说,如果是标准使用IE访问的B/S架构,应该使用HTML ...

  9. [每日一题] OCP1z0-047 :2013-08-28 DELETE..........................................................160

    转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/10475707 正确答案:ACD 根据题库,操作如下: A答案能删除: oe@OCM> ...

  10. linux内核系统调用--sendfile函数

    在apache,nginx,lighttpd等webserver其中,都有一项sendfile相关的配置,在一些网上的资料都有谈到sendfile会提升文件传输性能,那sendfile究竟是什么呢?它 ...