MFC创建右键弹出菜单的方法_C 语言

本文实例讲述了MFC创建右键弹出菜单的方法。分享给大家供大家参考。具体实现方法如下:

①、添加一个菜单资源,ID为IDM_RIGHTMENU。因为在显示右键菜单时顶级菜单是不显示的,所以可以给它设置任意文本。

②、给视类添加WM_RBUTTONDOWN消息,在该消息中处理右键弹出菜单。因为视类窗口始终覆盖在框架窗口之上,框架窗口接收不到鼠标消息,所以由视类捕获WM_RBUTTONDOWN消息。

复制代码 代码如下:

void CMenuView::OnRButtonDown(UINT nFlags, CPoint point)
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    CMenu menu;
    menu.LoadMenuW(IDM_RIGHTMENU);//加载菜单资源
    CMenu *pPopup=menu.GetSubMenu(0);
    ClientToScreen(&point);//将客户区坐标转换为屏幕坐标

    //显示右键菜单,由视类窗口拥有。
    pPopup->TrackPopupMenu(TPM_LEFTALIGN|TPM_RIGHTBUTTON,point.x,point.y,this);
    //TrackPopupMenu的最后一个参数,可以为GetParent让父窗口既框架窗口拥有右键菜单,这样
    //框架类窗口获得了对右键菜单中菜单项的命令响应,
    CView::OnRButtonDown(nFlags, point);
}

③、为右键菜单项添加命令消息响应函数(略)。

希望本文所述对大家的基于MFC的VC++程序设计有所帮助。

时间: 2024-12-12 15:34:07

MFC创建右键弹出菜单的方法_C 语言的相关文章

javascript自定义右键弹出菜单实现方法

  本文实例讲述了javascript自定义右键弹出菜单实现方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 <head runat="server"> <title>无标题页</title> <script type="text/javascript&q

javascript自定义右键弹出菜单实现方法_javascript技巧

本文实例讲述了javascript自定义右键弹出菜单实现方法.分享给大家供大家参考.具体实现方法如下: <head runat="server"> <title>无标题页</title> <script type="text/javascript"> var oPopup = window.createPopup(); function PopMenu(id) { var oPopBody = oPopup.docum

Android实现类似于PC中的右键弹出菜单效果_Android

 Android系统中的ContextMenu(上下文菜单)类似于PC中的右键弹出菜单,当一个视图注册到一个上下文菜单时,执行一个在该对象上的"长按"动作,将出现一个提供相关功能的浮动菜单.上下文菜单可以被注册到任何视图对象中,不过,最常见的是用于列表视图ListView的item,在按中列表项时,会转换其背景色而提示将呈现上下文菜单. 注意:上下文菜单不支持图标和快捷键. 为了创建一个上下文菜单,你必须重写这个活动的上下文菜单回调函数:onCreateContextMenu() 和

Android实现类似于PC中的右键弹出菜单效果

Android系统中的ContextMenu(上下文菜单)类似于PC中的右键弹出菜单,当一个视图注册到一个上下文菜单时,执行一个在该对象上的"长按"动作,将出现一个提供相关功能的浮动菜单.上下文菜单可以被注册到任何视图对象中,不过,最常见的是用于列表视图ListView的item,在按中列表项时,会转换其背景色而提示将呈现上下文菜单.  注意:上下文菜单不支持图标和快捷键. 为了创建一个上下文菜单,你必须重写这个活动的上下文菜单回调函数:onCreateContextMenu() 和

pb右键弹出菜单的编程

作者:达通兴电脑科技公司(www.study01job.com) 郭宝利 使用右键弹出菜单功能可以解决该问题,用到函数PopMenu.比如,我们创建了菜单m_main,里面包含若干个下拉菜单,其中的m_edit是用来编辑的.我们在用户点击鼠标右键时希望弹出该编辑菜单,可以如下编写脚本: m_main lm_pop lm_pop = CREATE m_main lm_pop.m_edit.PopMenu(PointerX(), PointerY())

opengl-openGL glutinit()右键弹出菜单

问题描述 openGL glutinit()右键弹出菜单 void createGLUTMenus() { int menu; //glutInit(&argc,argv); // 创建菜单并告诉GLUT,processMenuEvents处理菜单事件. menu = glutCreateMenu(processMenuEvents); glutAddMenuEntry("addObstacle",OBSTACLE); glutAddMenuEntry("addSmo

jQuery实现渐变弹出层和弹出菜单的方法

 这篇文章主要介绍了jQuery实现渐变弹出层和弹出菜单的方法,涉及jQuery渐变效果及css显示的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了jQuery实现渐变弹出层和弹出菜单的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/x

jQuery实现渐变弹出层和弹出菜单的方法_jquery

本文实例讲述了jQuery实现渐变弹出层和弹出菜单的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xh

树的右键弹出菜单怎么实现

问题描述 树的右键弹出菜单怎么实现? 解决方案 解决方案二:放一个层当button==2的时候显示解决方案三:http://free.2259.com/jscode.asp?js_id=1020解决方案四:还要根据鼠标确定层显示的位置吧.应该也是JS操作的.具体米有实现过.-.-解决方案五:jsif(Event.button==2)show();