c语言的菜单制作,C语言的菜单制作.ppt

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;i<78;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;i<78;i++) printf("%c",196); printf("%c",217); /*画右下角*/ gotoxy(1,1); textcolor(7); /*设置文本颜色灰色*/ for(i=0;i<80;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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值