InsertMenu只能添加新菜单,无法在已有的菜单里添加菜单项。
比如:我在 *.rc 文件里已经创建了一个菜单 IDM_MENU ,其中创建了一个菜单项“皮肤”,但无弹出菜单项。
如何在程序里,用SDK的方法,动态的为“皮肤”菜单,加入子菜单项呢?就是在菜单栏里有“皮肤”,点击它,就下拉出各种皮肤(这些皮肤的名称,从“skins”目录里读取,“skins”目录下有几个子目录,就读取几个子菜单项。
查了2小时的MSDN了,也没有解决。
求助,请帮忙。多谢!!我想用 InsertMenuItem ,但不会用。有比较详细的代码吗?
因本人自学编程,目前只能达到照猫画虎的水平,汗...
求助:这个问题已经卡了我半个多月了,一直无法解决。
HMENU hMenu = LoadMenu(NULL,MAKEINTRESOURCE(IDM_MENU));//载原始菜单
InsertMenu(hMenu, 1, MF_BYPOSITION|MF_STRING|MF_POPUP, IDM_SKIN, "皮肤(&S)"); //添加新菜单
    SetMenu(g_hDlg, hMenu);//显示菜单如何再为菜单项“皮肤”下面动态添加子菜单项呢?就是系统菜单里有“皮肤”一项,我点“皮肤”,就出来下拉菜单,有“红皮肤”、“黄皮肤”、“黑皮肤”...晕了,求助...

解决方案 »

  1.   

    要求纯 SDK 完成,不用MFC。
    请指点。十分感谢!!
      

  2.   

    for example:HMENU hMainMenu = ::GetMenu(g_hDlg);//原始菜单
    HMENU hPopMenu = ::CreatePopupMenu(); //先要创建pop菜单
    ::InsertMenu(hMainMenu, 1, MF_BYPOSITION|MF_STRING|MF_POPUP, UINT(hPopMenu), "皮肤(&S)"); //增加菜单
    HMENU hSubMenu = ::GetSubMenu(hMainMenu,1);
    //添加新的子项 
    ::AppendMenu(hSubMenu,MF_STRING,1001,_T("新添加的菜单1")); 
    ::AppendMenu(hSubMenu,MF_STRING,1002,_T("新添加的菜单2"));
    ::DrawMenuBar(g_hDlg); //刷新
      

  3.   

    感谢 seu07201213(汪洋中的一片叶子) !!50分可能少了点,仅聊表我感谢之意,请笑纳。