[译]GLUT教程 - 子菜单
2024-10-21 12:36:12
Lighthouse3d.com >> GLUT Tutorial >> Pop-up Menus >> Sub Menus
上一节我们介绍了如何创建普通菜单和如果绑定用户选定的菜单到处理事件.下面来介绍分层子菜单.
子菜单的创建和菜单用的是同一个函数.创建后插入到菜单的函数glutAddSubMenu原型如下:
void glutAddSubMenu(char *entryName, int menuIndex);
entryName - 子菜单名
menuIndex - 子菜单的索引值,该参数的值是从调用glutCreateMenu函数创建子菜单时得到.
该函数会添加一个项到菜单的尾部.当鼠标移到该菜单项时会自动弹出子菜单.
下面代码段演示了上述函数的用法:
void createPopupMenus() { shrinkMenu = glutCreateMenu(processShrinkMenu);
glutAddMenuEntry("Shrink",SHRINK);
glutAddMenuEntry("NORMAL",NORMAL); fillMenu = glutCreateMenu(processFillMenu);
glutAddMenuEntry("Fill",FILL);
glutAddMenuEntry("Line",LINE); colorMenu = glutCreateMenu(processColorMenu);
glutAddMenuEntry("Red",RED);
glutAddMenuEntry("Blue",BLUE);
glutAddMenuEntry("Green",GREEN);
glutAddMenuEntry("Orange",ORANGE); mainMenu = glutCreateMenu(processMainMenu);
glutAddSubMenu("Polygon Mode", fillMenu);
glutAddSubMenu("Color", colorMenu); // attach the menu to the right button
glutAttachMenu(GLUT_RIGHT_BUTTON);
}
运行上面代码,当用户按鼠标右键时会弹出两个选项: "多维模式"和"颜色". 点击"颜色"按钮时会弹出子菜单: "红","蓝","绿"和"橙".
最新文章
- POJ2794 Double Patience[离散概率 状压DP]
- SDWebImage清除图片缓存
- VMware Fusion 中如何复制centos/linux虚拟机
- [转]Handler MessageQueue Looper消息循环原理分析
- hibernate下载包中配置文件路径
- Android 中调试手段 打印函数调用栈信息
- PhpStorm Git 配置
- iOS - Swift NSUserDefaults		数据存储
- [原创]PostgreSQL Plus Advanced Server监控工具PEM(三)
- 有关linux下redis overcommit_memory的问题(转)
- 【转】使用 NuGet 管理项目库-Phil Haack
- Java 中字两个字符串判断是否相等(转载)
- 调皮的QQ音乐API:修复无法获取歌单
- css基础语法一(选择器与css导入方式)
- this的取值
- [UOJ UNR#2 黎明前的巧克力]
- 探索ASP.NET Core中的IStartupFilter
- 文本分类实战(五)—— Bi-LSTM + Attention模型
- 【重磅】FineUIPro基础版免费,是时候和ExtJS说再见了!
- WebSocket推送