OpenGLGLUT教程(十一) GLUT子菜单

转自:http://blog.csdn.net/xie_zi/article/details/1963461

前一章我们知道了怎么建立简单的菜单,现在我们来看看怎样来添加一个级联的子菜单。子菜单的建立和我们前面用的建立菜单的函数一样。建立菜单后我们把子菜单作为一个条目添加进去。使用函数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
 
 
(子菜单很简单,要创建子菜单,然后把它作为主菜单的一个条目加进去,就可以了。
原文地址:https://www.cnblogs.com/yangxi/p/2178507.html