opengl之菜单管理

opengl之菜单管理

ID:13279355

大小:17.58 KB

页数:4页

时间:2018-07-21

opengl之菜单管理_第1页
opengl之菜单管理_第2页
opengl之菜单管理_第3页
opengl之菜单管理_第4页
资源描述:

《opengl之菜单管理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、菜单是我们经常使用的工具,很方便,直观。本节讨论在OpenGL中如何进行菜单管理。  例17:本例在蓝色的背景上绘制一个白色的正方形,在窗口内单击鼠标右键,弹出菜单,当选择不同菜单项时命令窗口会显示出是哪个菜单的哪个菜单相被激活。本例一个主菜单,主菜单有3个菜单条目及两个子菜单。两个子菜单都有3个菜单条目。#include#includeintmenu,subMenu1,subMenu2;/*在蓝色的背景上绘制一个白色的正方形*/voidmyDraw(void){ glClearColor(0.0,0.0,1.0,0.0); glClear(GL_C

2、OLOR_BUFFER_BIT

3、GL_DEPTH_BUFFER_BIT); glColor3f(1.0,1.0,1.0); glOrtho(-1.0,1.0,-1.0,1.0,-1.0,1.0); glBegin(GL_POLYGON); glVertex2f(-0.5,-0.5); glVertex2f(-0.5,0.5); glVertex2f(0.5,0.5); glVertex2f(0.5,-0.5); glEnd(); glutSwapBuffers();}/*写出当前是哪个菜单*/voidGetCurrentMenu(void){ intnMenu; nMenu=glutGet

4、Menu(); if(nMenu==menu)  printf("ThecurrentmenuisMainMenu."); if(nMenu==subMenu1)  printf("ThecurrentmenuisSubMenu1."); if(nMenu==subMenu2)  printf("ThecurrentmenuisSubMenu2.");}/*子菜单1*/voidSubMenuFunc1(intdata){ GetCurrentMenu(); switch(data) {  case1:   printf("SubMenu1'sitem1istriggered.

5、n");   break;  case2:   printf("SubMenu1'sitem2istriggered.");   break;  case3:   printf("SubMenu1'sitem3istriggered.");   break; }}/*子菜单2*/voidSubMenuFunc2(intdata){ GetCurrentMenu(); switch(data) {  case1:   printf("SubMenu2'sitem1istriggered.");   break;  case2:   printf("SubMenu2'sitem2i

6、striggered.");   break;  case3:   printf("SubMenu2'sitem3istriggered.");   break; }}/*主菜单*/voidMenuFunc(intdata){ GetCurrentMenu(); switch(data) {  case1:   printf("MainMenu'sitem1istriggered.");   break;  case2:   printf("MainMenu'sitem2istriggered.");   break;  case3:   printf("MainMenu'

7、sitem3istriggered.");   break; }}intmain(intargc,char**argv){ /*初始化*/ glutInit(&argc,argv); glutInitDisplayMode(GLUT_DOUBLE

8、GLUT_RGB

9、GLUT_DEPTH); glutInitWindowSize(500,400); glutInitWindowPosition(100,100); /*创建窗口*/ glutCreateWindow("MENU"); glutDisplayFunc(myDraw); /*创建子菜单1并加入菜单条目*/ subMenu1=g

10、lutCreateMenu(SubMenuFunc1); glutAddMenuEntry("SubMenu1'sitem1",1); glutAddMenuEntry("SubMenu1'sitem2",2); glutAddMenuEntry("SubMenu1'sitem3",3); glutAttachMenu(GLUT_RIGHT_BUTTON); /*创建子菜单2并加入菜单条目*/ subMenu2=glut

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。