将子菜单项添加到菜单项

时间:2013-04-12 19:54:50

标签: c++ menu win32gui

我在将菜单项中的子菜单项添加到C ++中的窗口菜单时遇到了问题。我正在为我的游戏添加一个(确切地说是20个)保存位置。

以下是保存槽的代码:

    HMENU win32MENU = CreateMenu();//Menu bar

    HMENU win32SETTINGS = CreateMenu();//Settings option
        HMENU win32SAVESLOTS = CreateMenu();//Save Slots

    AppendMenu(win32MENU,MF_POPUP,(UINT_PTR)win32SETTINGS,"Settings");

    //Settings
    AppendMenu(win32SETTINGS,MF_STRING,(UINT_PTR)win32SAVESLOTS,"Save                       Ctrl+S");

        //Save Slots
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Default ~");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 1");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 2");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 3");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 4");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 5");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 6");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 7");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 8");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 9");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 10");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 11");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 12");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 13");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 14");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 15");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 16");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 17");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 18");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 19");
        AppendMenu(win32SAVESLOTS,MF_STRING,NULL,"Save Slot 20");

提前致谢。

1 个答案:

答案 0 :(得分:2)

变化:

AppendMenu(win32SETTINGS,MF_STRING,(UINT_PTR)win32SAVESLOTS,"Save Ctrl+S");

AppendMenu(win32SETTINGS,MF_STRING | MF_POPUP,(UINT_PTR)win32SAVESLOTS,"Save Ctrl+S");

另外,更改

HMENU win32SAVESLOTS = CreateMenu();//Save Slots

HMENU win32SAVESLOTS = CreatePopupMenu();//Save Slots