动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > C/C++教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ C/C++教程 ]的信息

本月文章推荐
.跨平台代码调试.
.C++ Builder 初学问与答(十七).
.C语言初学者入门讲座.
.C++的效率浅析.
.灵活运用c语言实现高级功能.
.C/C++程序员请注意指针的用法.
.unix下编写socket程序的一般步骤.
.在linux下使用c语言操作临时文件.
.用C++产生QL*Loader各类文件.
.PE文件格式详解(2).
.C语言程序设计(第2章 数据类型、.
.谈C++继承中的重载、覆盖和隐藏.
.国家计算机二级考试程序修改与设.
.论C/C++函数间动态内存的传递.
.Asp组件高级入门与精通系列之二.
.Windows下C语言网络编程快速入门.
.重载CreateParams实现无标题栏的.
.进程调度模拟程序.
.C语言初学者入门讲座 第二讲 数据.
.VC下揭开“特洛伊木马”的隐藏面.

菜单程序

发表日期:2008-3-8 |


#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <bios.h>
#include "head.h" #define FALSE 0
#define TRUE 1
#define START 1
#define LEFTSHIFT 2
#define RIGHTSHIFT 3
#define ENTER 4
#define EXIT 5
#define UP 6
#define DOWN 7 typedef strUCt{              /*菜单的数据结构*/
    int menuID;
    char MenuName[10];
    int itemCount;
    char itemName[4][14];
}menu; void *saveImage;       /*保存菜单覆盖的区域*/ int mHeight,mWidth;          /*窗口高,宽*/
int mutex=0; menu MainMenu[]=},
         },
  },
         },
         },
         },
         },
         },
         }  };
void showItems(int NewID)                 /*显示*/
{
    int LL,TT,j;
    LL=mWidth*NewID+50;
    TT=40;
    saveImage=malloc(imagesize(LL,31,LL+mWidth+30,70+25*(MainMenu[NewID].itemCount)));
    getimage(LL,31,LL+mWidth+30,70+25*(MainMenu[NewID].itemCount),saveImage);
    setcolor(7);
    setfillstyle(1,7);
    rectangle(LL,31,LL+mWidth+30,31+30*(MainMenu[NewID].itemCount));
    floodfill(LL+3,33,7);
    setcolor(1);
    rectangle(LL+5,36,LL+mWidth+25,26+30*(MainMenu[NewID].itemCount));
    hz(LL+15,TT,16,1,4,MainMenu[NewID].itemName[0]);
    hz(LL,8,16,1,1,MainMenu[NewID].MenuName);
    for(j=1;j<(MainMenu[NewID].itemCount);j++)
    {
    TT=TT+25;
    hz(LL+15,TT,16,1,1,MainMenu[NewID].itemName[j]);
    }
}
void init()
{
   int gdriver,gmode;
   gdriver=DETECT;
   initgraph(&gdriver,&gmode,"g:\TURBOC2");
   if ((fp=fopen("hzk16","rb"))==NULL)
  { printf("Can't open haz16,Please add it");
    getch(); closegraph(); exit(0);
  }
}

initm()
{
   int L,T,R,B,i;
   mWidth=60;
   mHeight=20;
   L=50;  T=8;  R=mWidth+L;  B=mHeight+T;
   setcolor(7);
   setfillstyle(1,7);
   rectangle(0,0,640,30);
   floodfill(3,25,7);
   setcolor(1);
   setfillstyle(1,1);
   rectangle(0,31,640,449);
   floodfill(3,300,1);
   setcolor(7);
   setfillstyle(1,7);
   rectangle(0,450,640,480);
   floodfill(3,459,7);
   setcolor(15);
   line(0,35,640,35);
   line(0,38,640,38);
   line(0,445,640,445);
   line(0,442,640,442);
   hz(170,165,80,3,14,"数据结构");
   hz(180,240,25,1,12,"(版权所有,随便拷贝)");
   hz(L,T,16,1,4,MainMenu[0].MenuName);     /*red*/
   L=R;  R=mWidth+L;
   for(i=1;i<9;i++)
   {
       hz(L,T,16,1,1,MainMenu[i].MenuName); /*blue*/
       L=R;  R=R+mWidth;
   }
} void process(int OldID,int NewID)       /*主菜单移动*/
{
   int L,T;
   L=50+mWidth*OldID;
   T=8;
   hz(L,T,16,1,1,MainMenu[OldID].MenuName);
   L=50+mWidth*NewID;
   hz(L,T,16,1,4,MainMenu[NewID].MenuName);
} void process3(int OldID,int NewID,int m)       /*子菜单移动*/
{
   int LL,TT;
   LL=50+mWidth*m;
   TT=40+OldID*25;
   hz(LL+15,TT,16,1,1,MainMenu[m].itemName[OldID]);
   TT=40+NewID*25;
   hz(LL+15,TT,16,1,4,MainMenu[m].itemName[NewID]);
}
process1(int d)             /* 退出 */
{
   if(d==2) exit(1);
} main()
{
    int OldID,NewID,head,tail,selectID,quit,c;
    int OldID1,NewID1,head1,tail1;
    head=0;  tail=8;
    OldID=0;  NewID=0;
    OldID1=0;  NewID1=0;
    head1=0;
    quit=0;
    init();
    initm();
    while(!quit)
    {
    while(bioskey(1)==0);
    c=bioskey(0);
    if(c==17400) selectID=START;
    else if(c==19200) selectID=LEFTSHIFT;
    else if(c==19712) selectID=RIGHTSHIFT;
    else if(c==7181) selectID=ENTER;
    else if(c==283) selectID=EXIT;
    else if(c==20480) selectID=DOWN;
    else if(c==18432) selectID=UP;
    else selectID=NULL;
    switch (selectID)
    {
       case START:
           OldID=NewID;
           NewID=0;
           process(OldID,NewID);
           break;
       case LEFTSHIFT:
           if(mutex==0)
           {
            if(NewID==head)
            {
              OldID=NewID;
              NewID=tail;
            }
            else
            {
              OldID=NewID;
              NewID--;
            }
            process(OldID,NewID);
           }
           break;
       case RIGHTSHIFT:
           if(mutex==0)
           {
            if(NewID==tail)
            {
             OldID=NewID;
             NewID=head;
            }
            else
            {
             OldID=NewID;
             NewID++;
            }
           process(OldID,NewID);
           }
           break;
        case ENTER:
           if(mutex==0)
           {
           showItems(NewID);
           mutex=1;
           tail1=MainMenu[NewID].itemCount-1;
           }
           else
           process1(NewID);
           break;
        case EXIT:
           if(mutex!=0)
           {
           putimage(mWidth*NewID+50,31,saveImage,COPY_PUT);
           hz(mWidth*NewID+50,8,16,1,4,MainMenu[NewID].MenuName);
           mutex=0;
           }
           else
           quit=TRUE;
           break;
        case DOWN:
           if(mutex==1)
           {
         if(NewID1==tail1)
      {
             OldID1=NewID1;
             NewID1=head1;
      }
         else
      {
             OldID1=NewID1;
             NewID1++;
      }
         process3(OldID1,NewID1,NewID);
     }
        break;
        case UP:
          if(mutex!=0)
          {
           if(NewID1==head1)
           {
          OldID1=NewID1;
          NewID1=tail1;
           }
           else
           {
           OldID1=NewID1;
           NewID1--;
           }
           process3(OldID1,NewID1,NewID);
          }
           break;
        default: break;
      }
       }
    getch();
    closegraph(); }

上一篇:超级解霸2.0c源代码 (c++,626K) 人气:336
下一篇:初始化C++类成员和在你的MFC应用中加入位置栏 人气:339
浏览全部C/C++的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-8-20 25175 学生成绩管理查询系统 v2.
2008-8-20 OA企业智能办公自动化系统边缘特
2008-8-20 欣颐免费时尚发廊美发厅全站程序
2008-8-19 久溜溜电影系统(免维护+小偷) v5
2008-8-19 晴天免费电影系统完整版(带迅雷采
2008-8-19 Twinklous File Manager v1.5
2008-8-19 千米旅游网站管理系统 v2.0
2008-8-19 资阳人才网 v2.0
2008-8-19 全球商务B2B网站系统 v1.0 asp版
2008-8-16 iLaba Player(小喇叭播放器) v2.
2008-8-16 DoubleClickFix 鼠标双击修正工具
2008-8-16 CrystalCPUID 4.15.2.451
2008-8-16 VeryCD 电驴(easyMule) 1.0.4 Bu
2008-8-16 uTorrent 1.8 Build 11813 - Sta
2008-8-16 比特精灵(BitSpirit) v3.3.2.287
2008-8-16 StayInTune音叉 v1.0 破解版
2008-8-16 iChing《周易》汉化补丁 v1.0
2008-8-16 Starmap星空图v1.0汉化破解版
  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵