
好像别无他法
//添加WM_RBUTTONUP,WM_BUTTONDOWN 消息映射函数, 直接return
void CEditEx::OnRButtonUp(UINT nFlags, CPoint point)
{
return
//CEdit::OnRButtonUp(nFlags, point)
}
void CEditEx::OnRButtonDown(UINT nFlags, CPoint point)
{
return
//CEdit::OnRButtonDown(nFlags, point)
}
CMenu menu
menu.CreatePopupMenu(...
或
menu.LoadMenu(
menu.TrackPopupMenu(...
1、一些右键菜单在电脑设置为隐藏,需要先将其正常显示,打开电脑中的此电脑图标,点击上方菜单栏中的查看按钮,将隐藏的项目前面打勾,也就是显示隐藏的内容。
2、接着进入到系统盘中,一般都是安装到C盘中,进入路径为C:\Users\ASUS\AppData\Roaming\Microsoft\Windows\SendTo,其中部分可能为中文,该文件夹下的内容就是右键鼠标菜单设置的内容。
3、但是这不仅仅是我们需要删除的右键菜单内容,我们同时按下电脑键盘的WIN+R键,调用出运行命令对话框,输入regedit,点击确定或按下回车键。
4、进入到注册表编辑器后,依次打开路径为计算机\HKEY_CLASSES_ROOT\*\shellex\ContextMenuHandlers,该文件夹下的内容均为文件右键显示的菜单内容,在这就可以对桌面右键鼠标的菜单进行设置。
主要是用TrackPopupMenu才实现。新建一个菜单资源IDR_MENU1,然后为View类添加OnContextMenu类添加消息,添加如下代码:
void CRMenuView::OnContextMenu(CWnd* pWnd, CPoint point)
{
// TODO: Add your message handler code here
CMenu m_popMenu
m_popMenu.LoadMenu(IDR_MENU1)
CMenu* pSubMenu=m_popMenu.GetSubMenu(0)
pSubMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,point.x,point.y,this)
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)