关于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,则说明一直按着~~~

 

 

 

 

 

你可能感兴趣的:(游戏,qq,聊天,WinCE)