1、动态菜单的ID管理在资源管理里面的string stable里,添加要增加菜单的id,同时在Resource.h中添加相应的id
2、增加消息相应函数
通过类向导:鼠标右击-》OnRButtonDown()
编辑相应代码:
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);
}
3、为刚添加的菜单添加菜单响应函数
手动添加消息映射,在cwinappview.h里面的消息映射添加ON_COMMAND(IDM_ACTION_MENU,onActionMenu);其中IDM_ACTION_MENU是刚添加的菜单项的ID
4、在cwinappview的成员函数 onDraw()中添加代码,在客服区输出提示。
void CAddMenu2View::OnDraw(CDC* pDC)
{
CAddMenu2Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
// TODO: 在此处为本机数据添加绘制代码
pDC->TextOutW(0, 0, _T("请鼠标右击客服区"));
}