MFC之动态添加菜单项

来源:互联网 发布:中世纪2优化9下载 编辑:程序博客网 时间:2024/06/05 21:48

1、GetMenu()函数

该函数获取当前窗口菜单栏句柄

2、GetSubMenu( int position)函数

该函数根据position数值获取菜单模块,即主菜单栏中的某一项(例如开始菜单,编辑菜单)。注:当该菜单模块为不存在下拉菜单项,该函数返回句柄为NULL,会导致运行时错误。

3、动态添加菜单项

    //获取主窗体菜单栏句柄    CMenu *menu = this->GetMenu();    //创建独立菜单模块,创建一个空的菜单模块,不含下拉菜单项    CMenu menu1;    menu1.CreateMenu();    //为该菜单项添加子菜单,即下拉菜单项    menu1.AppendMenuA(MF_STRING | MF_ENABLED, ID_TEST_3, "hello");    menu1.AppendMenuA(MF_STRING | MF_ENABLED, ID_TEST_4, "4");    //将该菜单模块添加到菜单栏上最后一项菜单模块的后面。并命名为“zi”    menu->AppendMenuA(MF_BYPOSITION | MF_POPUP | MF_STRING, (UINT)menu1.m_hMenu, "zi");    //相当于刷新重绘菜单栏    DrawMenuBar();
0 0