动态添加菜单项、子菜单、右键菜单 VC 动态添加菜单项、子菜单、右键菜单(VC)2010-06-27 16:56如何动态添加菜单/菜单项、子菜单、右键菜单 有关菜单的操作主要用到 CMenu类,当然也可用相应 API函数,CMenu类只是 MFC对 API中操作菜单的函数的封装而已
不过能用类就尽量用类,类的组织方式好呗,代码看着也舒服
若是 SDK编程,那就用 API吧
CMenu menuMain,menu1;//首先定义 CMenu对象 一、创建菜单,有两种方法 1
用 LoadMenu函数从资源加载 menuMain
LoadMenu(IDR_MAINFRAME);//从资源加载,这里使用 SDI的主菜单资源 2
用 CreateMenu函数创建 menu1
CreateMenu();//创建菜单,还没有菜单项 二、添加菜单项,可用 AppendMenu()在菜单的最后加、InsertMenu()在指定的位置加
//ID_TEST1在 Resource
h中定义,随便给个整数值,不要和已有的重复就行了 menu1
AppendMenu(MF_STRING,ID_TEST1,"Test1");//第一项菜单项 menu1
AppendMenu(MF_STRING,ID_TEST2,"Test2");//第二项菜单项 menu1
InsertMenu(1,MF_BYPOSITION|MF_STRING, (UINT)ID_TEST1,"ID_TEST1");//在第二项菜单项前添加新菜单项 三、添加子菜单 同样用 AppendMenu()、InsertMenu()函数
不过要注意参数的设置
AppendMenu(MF_BYPOSITION|MF_POPUP|MF_STRING, (UINT)menuMain
GetSubMenu(0)-m_hMenu,