vc中动态菜单的实现

原创 2005年04月23日 22:28:00
如何在VC中实现动态菜单 1.生成动态菜单 先定义一个菜单类对象:CMenu m_menuMain; 创建菜单:CreateMenu(CMenu *)创建一个普通菜单项 CreatePopupMenu()创建一个弹出式菜单项 2.使用菜单和应用程序挂钩 可使用SetMenu(CMenu *) 3.修改菜单项 添加和插入可使用AppendMenu()和InsertMenu() 删除可使用DeleteMenu() **4.动态菜单项的消息处理 我们可以在OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* HandlerInfo) 中处理. 参数中的nID就是发送过来的消息ID号,对于菜单,就是菜单的ID,如果nCode=CN_COMMAND表示单击菜单项发出的消息. 下面是示例代码: OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* HandlerInfo) { WPARAM MenuId=GetCurrentMessage()->wParam; //获得当前被单击的菜单的ID号 if(MenuId>=ID_MENU) //检查ID是否是动态建立的 { if(MenuId==nID && nCode==CN_COMMAND)//菜单项被单击 { CString strMenuName; //菜单名 GetMenu()->GetMenuString(MenuId,strMenuName,MF_STRING); //根据strMenuName进行不同处理 } } } 以上是我在写动态菜单时的一点经验,欢迎你提出更好的解决方法.

VC中动态添加菜单及其命令响应函数

 在对话框程序中动态添加菜单及其命令响应函数,其实很简单,只要重写OnCommand函数就可以实现了。下面是具体的实现。在主对话框类中的OnInitDialog函数中添加如下的代码/*建立子菜单*/ ...
  • zhaoyc_59211
  • zhaoyc_59211
  • 2008年01月17日 21:45
  • 3892

VC 动态创建菜单

步骤如下: (1)创建一个基于对话框的应用程序 (2)在对话框的头文件中声明一个CMenu类对象 m_Menu (3)在工作区窗口中选择FileView选项卡,打开资源头文件(Resource....
  • cc7829290
  • cc7829290
  • 2013年02月05日 13:54
  • 1965

VC实现抽屉菜单

用vc做了一个简单的抽屉菜单,界面非常简单,只是实现了功能而已。界面包括3个按钮,一个对话框。 下面讲解设计过程:1)在对话框类中加入如下变量 int m_left;    // 按钮的左边坐标 in...
  • momentt
  • momentt
  • 2008年12月15日 13:43
  • 2185

VC++中动态生成菜单技巧

下载源代码 一.前言     在实际运用中,经常需要根据操作来增减菜单和菜单项。在VC++开发环境下,动态生成菜单的方法有多种。例如:可以利用资源编辑器创建菜单资源,然后在程序运行中动态加入菜单,...
  • liulina603
  • liulina603
  • 2012年05月31日 14:51
  • 4200

vc学习历程(3)--修改系统默认菜单

为了操作系统菜单,首先需要获取一个系统菜单的指针 可以通过GetSystemMenu  实现,然后利用菜单指针添加一个菜单项,最后在对话框的OnSysCommand方法中处理菜单项的命令;CMenu*...
  • lin_angle
  • lin_angle
  • 2007年08月22日 22:35
  • 2527

VC中动态菜单的实现

           菜单项状态的维护是依赖于CN_UPDATE_COMMAND_UI消息,谁捕获CN_UPDATE_COMMAND_UI消息,MFC就在其中创建一个CCmdUI对象。我们可以通过手工...
  • bingxiecs
  • bingxiecs
  • 2006年09月01日 11:16
  • 1386

VC++实现弹出菜单(转)

用VC++实现弹出菜单比较简单,这里介绍其中的一种来实现一个鼠标左键弹出菜单,效果如下图所示: 步骤: 一、新建一个基于对话框的MFC应用程序-----PopupMenu 二...
  • adu285041555
  • adu285041555
  • 2013年02月25日 10:44
  • 672

JS实现网页动态折叠菜单

最近做了一个多级菜单列表动态展示的功能,其中用到了vue.js渐进式框架、aui.css等,在此记录一下,也便于自己日后总结。 说明:vue.js不是必须要用的,因为我们项目中页面用的都是vue,因此...
  • A_Story_Donkey
  • A_Story_Donkey
  • 2017年09月12日 14:08
  • 674

如何在VC中实现动态菜单

 1.生成动态菜单           先定义一个菜单类对象:CMenu m_menuMain;      创建菜单:CreateMenu(CMenu *)创建一个普通菜单项             ...
  • AttaBoy
  • AttaBoy
  • 2001年12月29日 00:35
  • 1590

VC++动态加入和删除菜单的方法

在应用程序中,往往要根据当前的操作来增加相应的菜单。动态增加菜单的方法有多  种,本文只讲述利用资源编辑器预创建菜单资源,然后在程序运行中动态加入(或删  除)到主菜单中去的方法。...
  • heary29
  • heary29
  • 2014年12月29日 11:15
  • 357
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc中动态菜单的实现
举报原因:
原因补充:

(最多只允许输入30个字)