WinCE系统中,触摸笔长按事件相当于是鼠标右键弹出上下文菜单,在网上大约能找到两段相似的代码,一是用timer事件实现,另一个是捕获WM_LBUTTON_DOWN消息,再调用SHRecognizeGesture实现,大致代码如下:

在桌面上按住左键不放  弹出右键菜单。
case WM_LBUTTONDOWN:
{
  SHRGINFO    shrg;
  HMENU       hmenu;
 
  shrg.cbSize = sizeof(shrg);
  shrg.hwndClient = hWnd;
  shrg.ptDown.x = LOWORD(lParam);
  shrg.ptDown.y = HIWORD(lParam);
  shrg.dwFlags = SHRG_RETURNCMD | SHRG_NOANIMATION;
 
  if (SHRecognizeGesture(&shrg) == GN_CONTEXTMENU) {
    hmenu = GetSubMenu(g_hMainMenu, 0);
    TrackPopupMenuEx(hmenu,
                     TPM_LEFTALIGN,
                     LOWORD(lParam),                                              
                     HIWORD(lParam),
                     hWnd,
                     NULL);
  }
  break;
}

说明:

OS Versions: Windows CE .NET 4.2 and later.
Header: Aygshell.h.
Link Library: Aygshell.lib.

经过试验,两种方式都工作的不好,以上这种方式偶尔能弹出一下,多数时候并不能正常工作。经验长按并截获消息发现,长按时会发送一个WM_CONTEXTMENU消息,这就是长按后发送的消息。所以,处理方法如下:例如要在CListCtrl列表上选中一行,并长按触摸笔并弹出上下文菜单,重载窗口的PreTranslateMessage函数,将收到的上下文菜单发到自定消息处理函数处理。

//定议消息

#define    ID_MSG_CONTEXT_MENU   WM_USER + 101

//消息处理函数

LRESULT MyDialog::OnCListCtrlContextMenu(WPARAM wParam, LPARAM lParam)

//消息映射

BEGIN_MESSAGE_MAP(MyDialog, CDialog)

ON_MESSAGE(ID_MSG_CONTEXT_MENU, OnCListCtrlContextMenu)

END_MESSAGE_MAP()

重载PreTranslateMessage函数

BOOL MyDialog::PreTranslateMessage(MSG* pMsg)

{

//处理鼠标长按

if(pMsg->message == WM_CONTEXTMENU)

{

CWnd* pCur = WindowFromPoint(pMsg->pt);

if (pCur == &m_listView)

{

PostMessage(ID_MSG_CONTEXT_MENU,NULL,NULL);

}

}

return CDialog::PreTranslateMessage(pMsg);

}

//弹出上下文菜单

LRESULT MyDialog::OnCListCtrlContextMenu(WPARAM wParam, LPARAM lParam)

{

POSITION  pos = m_listView.GetFirstSelectedItemPosition();

if (pos != NULL)

{

int item = m_ listView.GetNextSelectedItem(pos);

POINT point;

GetCursorPos(&point);

//自定义上下文化菜单

CMenuActive Menu(point, this);

Menu.InitMenu(MENU_ADD|MENU_EDIT|MENU_DELETE);

}

return 0;

}

这样就能完美的实现长按时弹出上下文菜单。

WinCE识别触摸笔的右键点击相关推荐

  1. Win10系统的SurfacePro4的触摸笔如何使用

    初次使用需要配对,微软的触摸笔是蓝牙配对的,打开平板的蓝牙,长按触摸笔后面的按钮,触摸笔会闪烁小灯,平板会提示配对准备已就绪 点击配对之后,提示已连接 可以按下触摸笔后面的按钮,一键打开OneNote ...

  2. mac安装win10后触摸板没有右键功能键的添加技巧

    一些mac用户也会在自己的笔记本电脑上安装windows10系统. 但最近有部分用户发现,安装上win10正式版后,发现无论点击触摸板哪个位置,都只有左键,根本无法右键的问题, 针对此问题,现笔者分享 ...

  3. 修改注册表校正触摸笔

    修改注册表校正触摸笔   1. 在开发板上点击"控制面板à笔针à校准选项à再校准". 2.  在开发板上找到注册表[HKEY_LOCAL_MACHINE\HARDWARE\DEVI ...

  4. 【错误记录】IntelliJ IDEA 中右键点击源码目录选择 New 选项 没有创建 Java Class 选项 ( 将对应的源码目录标记为 Sources 选项 )

    文章目录 一.报错信息 二.解决方案 一.报错信息 右键点击源码目录 , 选择 New 选项创建源码 , 没有任何源码创建选项 ; 二.解决方案 右键点击源码根目录 , 在弹出的菜单中选择 " ...

  5. win8音频服务器未响应,大神为你详解win8系统右键点击文件提示“未响应”的解决教程...

    近日有使用电脑的用户跟小编反映说win8系统右键点击文件提示"未响应"的问题,据小编了解,不是所有的用户都会解决win8系统右键点击文件提示"未响应"的问题,针 ...

  6. 在电脑桌面 右键点击 计算机,在桌面上右键点击电脑

    win10怎么修改系统日期时间?电脑发展到今天,时间的显示已经非常智能化,不仅仅依赖于主板上的BIOS时间,所以即便BIOS时间不准,或电池不足,都不一定会影响到系统中时间的显示,当然也不排除设置不对 ...

  7. QT右键点击添加库不响应的解决办法

    问题描述 QT在pro右键点击添加库不响应 解决方案 双击打开pro文件 在pro文件界面里单击鼠标右键,并选择添加库. 解决问题

  8. 设置网页右键点击,并阻止右键点击默认事件

    设置网页右键点击,并阻止右键点击默认事件 //为当前文档添加鼠标右击事件,防止默认的右击菜单弹出 document.oncontextmenu=Youji; function Youji(){aler ...

  9. html点击控制盒子左右移动,JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例...

    JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例 发布时间:2020-10-04 12:47:25 来源:脚本之家 阅读:121 作者:s_psycho 本文实例讲述了JS实现鼠标拖拽盒子移动及右键 ...

最新文章

  1. Windows Pe 第三章 PE头文件(上)
  2. 能用条件注释改善的IE兼容问题
  3. 1176: C语言实验题――数组逆序
  4. JMS学习之ActiveMQ-简单使用
  5. Flutter动画SizeTransition使用解析
  6. 计算机音乐 带你去旅行,带你去旅行(全乐器)
  7. optparse的模块编译参数使用
  8. MATLAB gui 绘图设置
  9. 被黑心商家坑了N次,探究抽奖背后的秘密 —— H5转盘小游戏完整实现(源码直接拿走)
  10. 4412 使用小度wifi
  11. elasticsearch7.8索引生命周期报错:index.lifecycle.rollover_alias does not point to index
  12. LeetCode 69. x 的平方根
  13. C++程序设计基础(揣锦华版)课后习题答案-第一章:程序设计基础知识
  14. windows计算机查看里设置,windows10电脑配置怎么查看
  15. 2018湖南省第14届大学生计算机程序设计竞赛---卖萌表情
  16. c语言rewind函数作用,C 文件 rewind() 函数
  17. Java初级面试笔记
  18. 天下文章一大抄 mysql远程连接
  19. 【Python】实现一个简单的区块链系统
  20. 概率小数2013年阿里巴巴暑期实习招聘笔试题目(不完整,笔试时间:2013.5.5)

热门文章

  1. php返回302,php使用curl请求返回302(30x)
  2. 梅森素数(C语言求解)
  3. 计算机启动黑屏不显示桌面图标,win7系统电脑启动开机黑屏不显示只有鼠标图标的解决方法...
  4. 中国大学计算机专业排名教育部,2017年中国的大学计算机专业排名
  5. 阿里架构师钟华,揭秘《阿里中台战略思想与实战》,ppt分享!
  6. react实现个人博客网站
  7. superclass
  8. vrml java_java如何在vrml里弹出窗口
  9. 强网杯2021 pwn部分wp
  10. amber教程5.3:带非标准残基的绿色荧光蛋白的MD