[译]GLUT教程 - 交换菜单
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);
}
[译]GLUT教程 - 交换菜单的更多相关文章
- [译]GLUT教程 - 修改菜单
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Modifying Menus 肯定会有菜单需要被修改的状 ...
- [译]GLUT教程 - 子菜单
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Sub Menus 上一节我们介绍了如何创建普通菜单和如果 ...
- [译]GLUT教程(目录)
http://www.lighthouse3d.com/tutorials/glut-tutorial/ GLUT是OpenGL Utility Toolkit的意思.作者Mark J. Kilgar ...
- [译]GLUT教程 - 弹出菜单基础
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Popup Menus 弹出菜单也是GLUT的一部分.虽然 ...
- [译]GLUT教程 - 游戏模式
Lighthouse3d.com >> GLUT Tutorial >> Extras >> Game Mode 根据GLUT官网的说明,GLUT的游戏模式是为开启 ...
- [译]GLUT教程 - 整合代码3
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> The Code So Far III 这里我们准备包含一 ...
- [译]GLUT教程 - 创建和关闭子窗体
Lighthouse3d.com >> GLUT Tutorial >> Subwindows >> Creating and Destroying Subwind ...
- [译]GLUT教程 - 整合代码5
Lighthouse3d.com >> GLUT Tutorial >> Extras >> The Code So Far V 该代码与位图字体的代码类似.区别是 ...
- [译]GLUT教程 - 整合代码4
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> The Code So Far IV 以下代码使用了位图字 ...
随机推荐
- hdu6038
hdu6038 分析 求函数 \(f\) 的构成方案,\(f\) 确定下来后,\(f\) 和 \(b\) 的值也是一一对应的了( \(f(i)=b_{f(a_i)}\) ),观察 \(a\) 数组,代 ...
- ubuntu网卡问题
目前遇到的ubuntu网卡相关问题总结 ------------------------------------------- 装ubuntu系统后,有线网卡不能用 电脑:办公室dell台式电脑(较新 ...
- 二分图变种之最小路径覆盖、最小点覆盖集【poj3041】【poj2060】
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=54859604 向大(hei)佬(e)势力学(di ...
- 使用TensorFlow实现神经网络的介绍
http://www.toutiao.com/i6414029277641048577/
- ubuntu10.10编译TQ2440的x86-qtopia-2.2.0编译问题解决精简版
转:http://blog.csdn.net/zyxlinux888/article/details/6705480 操作:1.要安装系统缺失的类库和安装包(有些是非必须的):zyx@zyx:/$ s ...
- matlab坐标轴设置
1. axis([xmin xmax ymin ymax]) 设置当前图形的坐标范围,分别为x轴的最小.最大值,y轴的最小最大值 2. V=axis 返回包含当前坐标范围的一个行向量 3. axis ...
- Android Facebook分享功能实现
1.下载 Facebook SDK https://developers.facebook.com/docs/Android?locale=zh_CN 2.在facebook下设置app的相关信息 3 ...
- c++类型所占的字节和表示范围
一:数值类型的大杂烩 (1)short.int 和 long 类型都表示整型值.存储空间的大小不同 一般, short 类型为半个机器字长,int 类型为一个机器字长,而 long 类型为一个或两个机 ...
- 改变PS1变量的颜色
2016.1.11今天学了改变PS1的颜色,怎么增加PS1变量找到文件(.bash_profile),或者bashrc export PS1="\[\e[32;1m\]Test $PWD&g ...
- ylb:事务
ylbtech_sqlserver create database bank go use bank go create table users ( uid ,), uname ) not null, ...