Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Swapping Menus

GLUT甚至可以在应用程序过程中更改整个菜单.提供了两个函数: glutSetMenu和glutGetMenu.原型如下:

void glutSetMenu(int menu);

menu - 上一个创建菜单的索引值

该函数可以让我们切换菜单,例如在应用程序上下文中切换.

int glutGetMenu(void);

该函数返回当前菜单的索引值.下面我们演示用户按F1时在两个菜单之间切换.

void processSpecialKeys(int c, int x, int y) {

    if (!flag) {
if (c == GLUT_KEY_F1) {
int x = glutGetMenu();
if (x == menu1)
glutSetMenu(menu2);
else
glutSetMenu(menu1);
// don't forget to attach the menu!!!
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
}
} void createGLUTMenus() { menu2 = glutCreateMenu(processMenuEvents);
glutAddMenuEntry("Blue",BLUE);
glutAddMenuEntry("Green",GREEN);
glutAddMenuEntry("Red",RED); menu1 = glutCreateMenu(processMenuEvents);
glutAddMenuEntry("Red",RED);
glutAddMenuEntry("Green",GREEN);
glutAddMenuEntry("Blue",BLUE);
glutAttachMenu(GLUT_RIGHT_BUTTON);
}

最新文章

  1. web前端基础知识-(六)web框架
  2. python requests的安装与简单运用
  3. web系统开发为什么用asp.net MVC,为什么不用?
  4. ASP.NET中cookie与Fiter实现简单登陆,AllowAnonymous匿名登陆
  5. PHP&MySQL 语法
  6. js 判断所有节假日
  7. 转载:Linux内核探索之路——关于书
  8. Eclipse(Myeclipse)安装GoogleGWT
  9. UML解惑:图说UML中的六大关系--转
  10. python lcd 时间显示
  11. [Spring入门学习笔记][maven]
  12. 基于visual Studio2013解决算法导论之006最大堆排序
  13. 大约session_cached_cursors在不同的db在默认不同的版本号
  14. WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制
  15. 学习Machine Leaning In Action(四):逻辑回归
  16. android TextView实现滚动显示效果
  17. 在使用<script>嵌入JavaScript代码时,不要在代码中的任何地方出现"</script>"字符串
  18. UNIX网络编程——epoll的 et,lt关注点
  19. ul li 实现层级列表显示
  20. centos 7 安装vscode

热门文章

  1. Python的扩展接口[1] -> 串口通信
  2. [USACO09MAR]Cleaning Up
  3. java.util.Arrays导入报错问题
  4. Linux下安装PHP的GD支持库
  5. Linux下进行Web服务器压力(并发)测试工具http_load、webbench、ab、Siege、autobench简单使用教程(转)
  6. ocmock
  7. Android Handler 消息循环机制
  8. Tomcat部署多个应用时日志文件路径相同引起的问题
  9. 【Hadoop】三句话告诉你 mapreduce 中MAP进程的数量怎么控制?
  10. pip install 报错UnicodeDecodeError: 'ascii' codec can't decode byte