论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > C语言程序设计教程
Tag:新手,函数,指针,数据类型,对象,Turbo,入门,运算符,数组,结构,二级,,tc,游戏,试题,问答,编译,视频教程

如何用VC++ 动态修改应用程序菜单_VC技术_C语言教程

文章类别:C语言程序设计 | 发表日期:2010-6-20 9:20:30

如何用VC++ 动态修改应用程序菜单?使用多功能编辑控件时注意初始化common controls library_VC技术_C语言教程

本文来自21视频教程网C语言频道

[问题提出]
    本文将介绍一些使用CMenu的方法,如查找指定菜单,在指定选项前添加菜单项.....

  [解决方法]
    使用CWnd::GetMenu( )访问主菜单,GetMenu( )返回指向CMenu对象的指针,它有一些成员函数,允许我们修改一个菜单。
    1) 如何实现找到一个菜单项:
    步骤如下:
    {
         //动态修改菜单:
         // Get the Main Menu
         CMenu* pMainMenu = AfxGetMainWnd()->GetMenu();
         CMenu* pSubMenu = NULL;
         int i;
         for (i=0; i<(int)pMainMenu->GetMenuItemCount(); i++)
         {
             pSubMenu = pMainMenu->GetSubMenu(i);
             if (pSubMenu && pSubMenu->GetMenuItemID(0) == ID_FILE_NEW)
                break;
         }
         CString s;
         s.Format("%d",i);//菜单项的位数.
         AfxMessageBox(s);
         ASSERT(pSubMenu);
    }

    2) 动态编辑菜单:
    步骤如下(可以用上例的pSubMenu,要加的菜单你自己定义.):
    1) 添加一个称为Wzd2,命令ID为IDC_NAME_NEW1的菜单命令到该菜单中,可以用:
         pSubMenu->AppendMenu(0,IDC_NAME_NEW1,"New&1");

    2) 在New1前插入New2,可以用:
         pSubMenu->InsertMenu(IDC_NAME_NEW1,MF_BYCOMMAND,IDC_NAME_ NEW2, "New&2");

    3) 把New1改变成New3,可以用:
         pSubMenu->ModifyMenu(IDC_NAME_NEW1,MF_BYCOMMAND,IDC_NAME_ NEW3, "New&3");

    4) 删除该菜单中第二项,可以用:
         pSubMenu->RemoveMenu(1,MF_BYPOSITION);

视频教程列表
文章教程搜索
 
C语言程序设计推荐教程
C语言程序设计热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058