关于wince 没有Key press事件的解决方法

首先说下用途:

1用来接收长按消息:比如当在一个页面长按后出现选项,winCe的那个QQ聊天界面长按就有复制功能,这种实现方法用下面代码

在OnLButtonDown事件下加入如下代码

      SHRGINFO   shrg;
      shrg.cbSize   =   sizeof(shrg);
      shrg.hwndClient   =   m_hWnd;
      shrg.ptDown.x   =   LOWORD(lParam); //lParam为标准wince的,这里在M8就直接写posX
      shrg.ptDown.y   =   HIWORD(lParam); //lParam为标准wince的,这里在M8就直接写posY
      shrg.dwFlags   =   SHRG_RETURNCMD;

      CPoint   point;
      point.x   =   shrg.ptDown.x;
      point.y   =   shrg.ptDown.y;

      if(::SHRecognizeGesture(&shrg)   ==   GN_CONTEXTMENU)//长按键消息

    {

      //这里就是你要处理的地方了~~

     }

 

感谢M8开发群的深蓝的提供,另外使用时载入 aygshell.lib,上面包含aygshell.h

2用来表示一直按下的:比如飞机游戏里面一直按下表示一直向右滑动。

这里我就用了个技巧。。。。表见笑。。

 

在OnLButtonDown时使一个标志变量如 bButtonDown为true,然后在OnLButtonUp时把这个变量变为false。那么在游戏逻辑内只要关系bButtonDown就好了,比如bButtonDown一直为true,则说明一直按着~~~

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值