一、基于单文档 添加动态菜单

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("请鼠标右击客服区"));
}


你可能感兴趣的:(MFC学习)