|
|
手上的上网本,用了下win7 感觉win7带的“长按左键,弹出右键菜单”功能不错 不过找了很久都找不到类似功能的软件,在某个论坛见有人发帖
http://www.umpcfans.com/viewthread.php?tid=10363 发个鼠标软件,长按左键,弹出右键菜单,原创
可惜下载不了 没有权限
谁手上有类似的软件 分享一下 先谢谢了
搜得一堆的代码 谁帮忙弄一个也可以
在桌面上按住左键不放 弹出右键菜单。
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;
}
=============================================================
标题:wince识别触摸笔的右键点击
摘要:
备注:Windows CE
日期:2010.5.6
姓名:朱铭雷
=============================================================
在wince设备中,使用触摸笔不同于鼠标,它没有右键。要通过长按(按下并保持一段时间)来模拟右键点击的动作。那么在应用程序中如果要判断用户右键点击的动作,可以通过SHRecognizeGesture函数来完成。思路也比较简单,当触摸笔点击屏幕时,将会投递一个WM_LBUTTONDOWN消息,在这个消息响应函数中调用SHRecognizeGesture来判断即可。
SHRecognizeGesture函数的原型如下:
WINSHELLAPI DWORD SHRecognizeGesture(
SHRGINFO * shrg
);
唯一的参数shrg指向SHRGINFO结构体,该结构体如下:
typedef struct tagSHRGI {
DWORD cbSize;
HWND hwndClient;
POINT ptDown;
DWORD dwFlags;
} SHRGINFO, *PSHRGINFO;
cbSize是SHRGINFO结构体的大小。hwndClient是窗口句柄。ptDown是触摸点的坐标。dwFlags是标志位,具体内容查看帮助文档。
下面是一段简单的示例代码:
//WM_LBUTTONDOWN消息响应函数
LRESULT DoLButtonDownMain (HWND hWnd, UINT wMsg, WPARAM wParam,
LPARAM lParam) {
POINT pt;
int rc;
pt.x = LOWORD (lParam);
pt.y = HIWORD (lParam);
SHRGINFO sri;
sri.cbSize = sizeof (sri);
sri.dwFlags = 1;
sri.hwndClient = hWnd;
sri.ptDown = pt;
rc = SHRecognizeGesture (&sri);
if (rc == GN_CONTEXTMENU)
{
ShowContextMenu (hWnd, pt); //显示一个右键菜单
}
return 0;
}
谢谢 slore的指点 非常满足
[ 本帖最后由 hxeon_hzl 于 2011-12-16 01:52 编辑 ] |
|