我在将菜单项中的子菜单项添加到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");
提前致谢。
答案 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