1、新建一个单文档的MFC应用,工程的名字为AddMenu
2、在工作区选择classview标签,展开AddMenu classes,右击CAddMenuView类,在弹出的菜单中选择add Windows Message Handler 命令,在弹出的对话框中的新建windows消息/事件列表框中选择WM_RBUTTONDOWN选项,单击add and Edit
3、在工作区选择classview标签,展开AddMenuclasses,右击CAddMenuView类,在弹出的菜单中选择add Member Function 命令,在弹出的对话框中添加函数:如下
4、在CAddMenuView.cpp添加一下代码:ON_COMMAND(IDM_ACTION_MENU, OnActionMenu)
5、在添加的OnRButtonDown()、OnActionMenu()的函数中添加如下的代码:void CAddMenuView::OnRButtonDown(UINT nFlags, CPoint point){ CMenu *pMenu = AfxGetMainWnd()->GetMenu(); //得到主框架菜单 pMenu->GetSubMenu(2)->AppendMenu(MF_SEPARATOR); //添加菜单分隔符 pMenu->GetSubMenu(2)->AppendMenu(MF_STRING, IDM_ACTION_MENU, "动态菜单(&A)"); //添加菜单 MessageBox("添加菜单到“查看”菜单下成功", "信息提示", MB_OK); //提示信息 CView::OnRButtonDown(nFlags, point);}void CAddMenuView::OnActionMenu(){ MessageBox("动态添加的菜单", "信息提示", MB_OK); //菜单响应信息}
6、运行程序动态的添加一个菜单结果如下: