C语言的菜单制作.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言的菜单制作

C语言的菜单制作 图形化菜单 要完成一个菜单需要考虑以下几个方面: 菜单的定义 保存部分屏幕 恢复期望的屏幕 用户的响应值传递 如何显示菜单 可以利用输出字符画出主界面上的边框和主菜单的背景区域。然后再显示主菜单,最后画出下拉菜单。(仿TC) 利用ASCII中的特殊字符。如218为「,196为—,179为︱,191为﹁,192为﹂,217为」来画出应用程序的边框。 菜单的定义 思考用什么来表示菜单及其子菜单? 示例 system(cls); /*调用系统的清屏命令*/ stdlib.h textbackground(BLUE);/*将文本背景设置为蓝色*/ conio.h window(1,1,25,80); /*定义活动文本模式窗口*/ conio.h clrscr(); /*清除文本模式窗品*/ textx=3; texty=2; /*光标初始化位置*/ gotoxy(1,2); /*在文本窗口中设置光标*/ printf(%c,218); /*画左上角*/ for(i=0;i78;i++) printf(%c,196); /*画水平直线*/ printf(%c,191);/*画右上角*/ for(i=3;i=23;i++) { gotoxy(1,i); printf(%c,179); /*画垂直线*/ gotoxy(80,i); printf(%c,179); } printf(%c,192); /*画左下角*/ for(i=0;i78;i++) printf(%c,196); printf(%c,217); /*画右下角*/ gotoxy(1,1); textcolor(7); /*设置文本颜色灰色*/ for(i=0;i80;i++) cprintf(%c,219);/*用符号实现画主菜单的灰色背景区*/ Cprintf与printf 1.cprintf函数用于向当前窗口输出数据,比如你用window函 数定义一个窗口 window(20,10,60,20),那么当你调用cprintf 函数时,cprintf的输出就是相对于20,10, 60,20这个窗 口,当输出的字符串长度大于当前窗口长度时,会在当前窗 口自动换行。 2.cprintf函数可以配合setcolor,setbkcolor等函数使用,而调 用printf函数时会忽略这些 函数执行的结果。 Cprintf和printf 比如执行:setcolor(RED); cprintf(Hello world); printf(Hello); 将会在屏幕上显示红色字符串:Hello world 和白色字符串(因为setcolor函数对printf函数不起作用)Hello 在原来的C语言中,cprintf中的c代表console,就是控制 台.(conio.h中的con也是这个意思)到了windows也继承了这 个渊源。 按照设计者本来的意图,printf是标准输出,就是指可以完 全不知道你输出的对象,只是以标准的文本流方式输出。 cprintf是与终端相关的,要用到一些系统平台,硬件设备相关的 特性,所以可以有颜色等很多东西可供选择,同时也削弱了移 植性,所以cprintf是非标准的。 定义菜单 在前面定义了表示菜单的结构体。现在需要定义具体的菜单。菜单项应该放在结构体数组中。如mainmenu[i]就表示水平的第i个菜单(主菜单)mainmenu[i].name为菜单的名字,而mainmenu[i].sub[j]则表示第i个主菜单下的第j个下拉选项。 示例 void Selectitem() { strcpy(ml[0].name,“File”); /*下面的具体选项补空格是为了各菜单黑色背景相同*/ strcpy(ml[0].str[0],“New ); strcpy(ml[0].str[1],“Load ); strcpy(ml[0].str[2],“Save ); strcpy(ml[0].str[3],Exit ); ml[0].n=6; /*保存菜单的项数*/ ………….. } 画出菜单 定义了每一个具体的菜单项,现在需要把它们通通都显示出来。对于正常菜单来说,显示菜单灰底黑色且首字符为红色的样式,表示菜单未选中。但当光标移动到某个菜单选项上时,则需要改变背景和文本颜色,以示该

文档评论(0)

fc86033 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档