十分急,添加鼠标击键的功能。 我要鼠标击键时(在任何状态下左,中,右键)在弹出菜单时在原先的菜单内加入我的菜单。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在收到WM_LBUTTONDOWN, WM_MBUTTONDOWN,WM_RBUTTONDOWN消息时,使用如下代码:CMenu menu;if (menu.LoadMenu(ID_YOURMENU)){ CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); pPopup->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x, point.y, this); }} 比如:void CYourWnd::PopupTheMenu(CPoint &point){ CMenu menu; if (menu.LoadMenu(ID_YOURMENU)) { CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); pPopup->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x, point.y, this); } }}void CYourWnd::OnLButtonDown(UINT nFlags, CPoint point) { PopupTheMenu(point); CBaseOfYourWnd::OnLButtonDown(nFlags, point);}...... 上面的PopupTheMenu()多了一个"}",应该是:void CYourWnd::PopupTheMenu(CPoint &point){ CMenu menu; if (menu.LoadMenu(ID_YOURMENU)) { CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); pPopup->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x, point.y, this); }} 提供一个建议:1、安装全局Hook WH_GETMESSAGE;2、检测信息WM_INITMENUPOPUP,然后插入你自己的菜单。 http://www.codeproject.com/shell/shellextguide1.asp 要做到任何程序中都加入,不是很现实吧,再说,又有什么意义呢?别人的应用程序又不会响应。一般,总是这种要求:在Explorer中右键菜单中加入自己的内容。此时,可以看看这个:http://www.codeproject.com/shell/shellextguide1.asp(a COM object that adds some kind of functionality to the Windows shell) 乱码 如何在点击菜单项的时候得到菜单项的Text 招聘兼职VC开发人员,2年以上经验,做网络视频监控系统,按月付薪水 一个弱智的问题 请问如何实现类似蚂蚁、flashget那样的ie右键菜单? 请问:类模块定义问题 关于code project上的文件下载 问一个很菜的问题,高手莫笑 和大家讨论一个问题:一个面向对象的系统,能不能做到与具体业务无关?内有详细说明(46是我所能给的最高分了) 不谈VC,只谈风月 请问一个基本概念问题。 朋友们帮我用c(turboc2)语言编一个小程序?
CMenu menu;
if (menu.LoadMenu(ID_YOURMENU))
{
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pPopup->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x, point.y, this);
}
}
{
CMenu menu;
if (menu.LoadMenu(ID_YOURMENU))
{
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pPopup->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x, point.y, this);
}
}
}void CYourWnd::OnLButtonDown(UINT nFlags, CPoint point)
{
PopupTheMenu(point);
CBaseOfYourWnd::OnLButtonDown(nFlags, point);
}......
{
CMenu menu;
if (menu.LoadMenu(ID_YOURMENU))
{
CMenu* pPopup = menu.GetSubMenu(0);
ASSERT(pPopup != NULL);
pPopup->TrackPopupMenu(TPM_RIGHTBUTTON | TPM_LEFTALIGN, point.x, point.y, this);
}
}
http://www.codeproject.com/shell/shellextguide1.asp
(a COM object that adds some kind of functionality to the Windows shell)