请问怎么用openGL和C++编出一个下拉菜单程序,

菜单有“red”,“blue”,“green”三色,点一个窗口就被该颜色所覆盖。求大神给个模版... 菜单有“red”,“blue”,“green”三色,点一个窗口就被该颜色所覆盖。
求大神给个模版
展开
 我来答
cjj796
2013-10-04 · TA获得超过8709个赞
知道大有可为答主
回答量:1.3万
采纳率:68%
帮助的人:3685万
展开全部
你好,给你一段说明,你看看吧,希望能帮到你!

GLUT提供了一系列的函数对多种弹出式菜单和子菜单进行处理。利用GLUT创建一个菜单主要包括创建菜单、创建菜单项、指定选择菜单项的鼠标按键等步骤。
首先,可以使用菜单注册函数:
glutCreateMenu(ProcessMenu);
创建一个弹出式菜单,它指定ProcessMenu作为菜单回调函数,该函数包含一个参数:
void ProcessMenu(int value);
其中,value用于确定用户选择菜单项的ID值,以进行相应的处理。此时该菜单已与窗口关联起来。
在创建了菜单之后,需要使用函数在菜单中加入菜单项:
void glutAddMenuEntry(char *name, GLint value);
其中,参数name指定菜单项显示的名称,value则指定的菜单项对应的ID,当这个菜单项被选中时,这个ID值会传给菜单回调函数。
最后,使用下面的函数将菜单与某个鼠标按键关联起来:
void glutAttachMenu(button);
其中,参数button用符号常量GLUT_LEFT_BUTTON,GLUT_MIDDLE_BUTTON,GLUT_RIGHT_BUTTON指定鼠标的左键、中键和右键。
由于在一个窗口内可以使用多个菜单,因此GLUT通过为菜单提供一个整数标识符的方式实现多窗口的管理。这个整数标识符是在菜单创建时由系统从1开始顺序分配的,通常可以用下面的语句获得这个标识符:
int nMenu = glutCreateMenu(ProcessMenu);
在有了这个标识符后,可以用函数glutSetMenu(nMenu)指定对应的菜单为当前的菜单;用函数glutDestroyMenu(nMenu)删除对应的菜单;也可以用函数glutAddSubMenu(“模式”, nMenu)将对应的菜单指定为当前的菜单的一个名为“模式”的子菜单。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式