天天看点

Visual C++ 时尚编程百例017(动态菜单)

动态菜单

打开String Table添加如下

IDS_BLUE 61446 兰色

IDS_GREEN 61447 绿色

扩展菜单或者去除菜单

void Cvc1010View::OnExpand()

{

 // TODO: 在此添加命令处理程序代码

 CMenu *pAddinMenu,*pTopMenu;

 pTopMenu=AfxGetMainWnd()->GetMenu();

 pAddinMenu=pTopMenu->GetSubMenu(5);//菜单次序从0开始

 ASSERT(pAddinMenu!=NULL);

 pAddinMenu->AppendMenuW(MF_SEPARATOR);//分隔线

 CString MenuName;

 for(int i=0;i<2;i++)

 {

  MenuName.LoadStringW(IDS_BLUE+i);//调用字符串

  pAddinMenu->AppendMenuW(MF_STRING,IDS_BLUE+i,MenuName);

 }

}

void Cvc1010View::OnStandard()

 int i=pAddinMenu->GetMenuItemCount();//获取菜单总数

 if(5==i)

  i--;

  while(i>1)

  {

   pAddinMenu->RemoveMenu(i,MF_BYPOSITION);//删除菜单项

   i--;

  }

 else

  pAddinMenu->DeleteMenu(3,MF_BYPOSITION);//删除菜单项

  pAddinMenu->RemoveMenu(2,MF_BYPOSITION);

    本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2011/03/09/vc100-17.html,如需转载请自行联系原作者

继续阅读