转自http://blog.csdn.net/xie_zi/article/details/1963461
GLUT教程
子菜单
前一章我们知道了怎么建立简单的菜单,现在我们来看看怎样来添加一个级联的子菜单。子菜单的建立和我们前面用的建立菜单的函数一样。建立菜单后我们把子菜单作为一个条目添加进去。使用函数glutAddSubMenu来完成这项工作:
void glutAddSubMenu(char *entryName,int menuIndex);
参数:
entryName:子菜单名称。
menuIndex:子菜单索引,这个就是我们调用glutCreateMenu来创建子菜单返回的值。
上面就是添加子菜单的函数。(我想子菜单也就是级联菜单,应该都明白是什么吧)。下面是一小段代码,说明上面函数的用处的。
void createGLUTMenus() {
int menu,submenu;
submenu = glutCreateMenu(processMenuEvents);
glutAddMenuEntry("Red",RED);
glutAddMenuEntry("Blue",BLUE);
glutAddMenuEntry("Green",GREEN);
menu = glutCreateMenu(processMenuEvents);
glutAddMenuEntry("White",WHITE);
glutAddSubMenu("RGB Menu",submenu);
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
注意这里处理菜单事件的函数,对菜单和子菜单都是一样的,你可以自己写个处理子菜单事件的函数。 VC工程的源代码在这里下载(glut8.zip)
(子菜单很简单,要创建子菜单,然后把它作为主菜单的一个条目加进去,就可以了。