动态创建菜单

转载 2012年03月30日 16:27:05
动态创建菜单

本文转自百度空间---http://hi.baidu.com/xtwwz/blog/item/e11844fe58f9838658ee90aa.html

动态创建菜单:

1、定义菜单对象,调用CreateMenu方法创建菜单资源
 CMenu  m_Menu;

2、调用AppendMenu或InsertMenu方法创建菜单项,设置菜单文本和命令ID.

 //创建空的菜单资源
 m_Menu.CreateMenu();

 //创建父菜单
 m_Menu.AppendMenu(MF_STRING,-1,"系统");
 //创建子菜单
 CMenu subMenu;
 subMenu.CreatePopupMenu();
 subMenu.AppendMenu(MF_STRING,ID_MENUADD ,"信息添加");
 subMenu.AppendMenu(MF_STRING,ID_MENUUPDATE ,"信息修改");
 //创建一个父菜单,将子菜单作为父菜单的级联菜单
 m_Menu.AppendMenu(MF_POPUP,(UINT)subMenu.m_hMenu,"基础信息");

 //创建父菜单
 m_Menu.AppendMenu(MF_STRING,-1,"库存管理");
 //将菜单对象与菜单资源分离
 subMenu.Detach();
 //将菜单关联到对话框资源上
 SetMenu(&m_Menu);

3、为菜单项关联命令消息处理函数:

A.在对话框类中添加一个消息处理函数;
 afx_msg void AddInfo();

void CDynamiMenuDlg::AddInfo()
{
 MessageBox("基础信息添加!","提示");
}

B.在消息映射部分添加ON_COMMAND消息映射宏,将菜单项的命令ID与消息处理函数关联。
BEGIN_MESSAGE_MAP(CDynamiMenuDlg, CDialog)
 //{{AFX_MSG_MAP(CDynamiMenuDlg)
 ON_WM_SYSCOMMAND()
 ON_WM_PAINT()
 ON_WM_QUERYDRAGICON()
 ON_COMMAND(ID_MENUADD,AddInfo)
 //}}AFX_MSG_MAP
END_MESSAGE_MAP()

从配置文件动态创建菜单

  • 2012年06月28日 16:56
  • 46KB
  • 下载

java后台动态创建三级菜单

create table sys_moudle( id varchar(32),--每四个为一个层级 0001|00010001|000100010001 0002 levels int, -...
  • CTLLIN
  • CTLLIN
  • 2016年04月17日 15:15
  • 5066

dephi 动态创建菜单

  • 2011年03月20日 17:10
  • 6KB
  • 下载

动态创建菜单、树

  • 2014年06月25日 10:41
  • 134KB
  • 下载

动态创建无级子菜单:乾坤大挪移无极紫菜汤

/*快捷菜单*/ ContextMenuStrip 测试快捷 = new ContextMenuStrip(); /*主菜单=名称|图标索引*/ ...

C#反射动态创建菜单

  • 2010年03月12日 22:47
  • 36KB
  • 下载

easyui学习笔记之动态创建手风琴菜单

html 菜单一一 菜单一二 ...
  • Wfj521
  • Wfj521
  • 2016年06月04日 11:40
  • 4261
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态创建菜单
举报原因:
原因补充:

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