资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C语言课程设计案例-菜单设计调试环境为TC2.0或者3.0。运行这个程序需要tc提供的几个头文件。建议修改options菜单中的include目录项到tc的include的目录下(具体方法可以参见本书第一章的讲解);或者把源程序拷贝到tc目录下运行。#include #include#include #include#include/*定义一些常数*/#define NO 0#define YES 1#define NONE -1#define MAX_MENU 7/*根据情况改变可以在菜单显示的最大项*/*全局参数*/int X,Y;int Selection;int button,x,y;void *p;size_t area;/*菜单结构*/struct MENU /*左上角*/ int x; int y; /*右下角*/ int x1; int y1; unsigned char ActiveMAX_MENU;/* 菜单项是否激活的标志*/ char *head;/* 菜单的名字(可选项)*/;int MouseOn(struct MENU *t);void Process();void Xorbar(int sx,int sy,int ex,int ey,int c);void Show();void Hide();void Status();/* 通过下面的参数用户可以改变按钮的位置。*/struct MENU File=200,110,250,130;struct MENU Edit=295,110,345,130;struct MENU Help=390,110,440,130;struct MENU Close=600,10,620,30;struct MENU Neeraj=380,300,460,315;void main() int gd = DETECT,gm; /*初始化图形界面*/ initgraph(&gd, &gm,); Selection=NONE; /*是否激活菜单项,YES表示激活;NO表示取消激活*/ for(gd=0;gdx+15,tm-y+4,txt);/*高亮显示函数*/Hlight(struct MENU *t)/* 高亮 */ winp(t,0);/* 显示菜单项名称 */ Msg(t-head); /*在没有输入的情况下,一直高亮*/ while(MouseOn(t) Status(); if(button!=0) break; if(kbhit() break; /*消除高亮*/ setcolor(7); Hide(); rectangle(t-x,t-y,t-x1,t-y1); Msg(); /*重绘*/ Show();int MouseOn(struct MENU *t) int flag; flag=0; if(x=t-x & xx1 & y=t-y & yy1) flag=1; return flag;void Xorbar(int sx,int sy,int ex,int ey,int c) int i; setwritemode(1); setcolor(c); Hide(); for(i=sy;ix,tm-y,tm-x1,tm-y1); Show(); while(button=1) Status(); if(kbhit() break; /*弹出下拉菜单*/PullMenuDown(char *H,int n,struct MENU *tm) int i; i=n*20; /* 保存背景*/ Push(tm);
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号