| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 521 人关注过本帖
标题:为什么我菜单程序按上下键怎么没有反应呢?求帮助啊!
只看楼主 加入收藏
l1091029778
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-17
结帖率:100%
收藏
已结贴  问题点数:2 回复次数:2 
为什么我菜单程序按上下键怎么没有反应呢?求帮助啊!
#include <process.h>
#include <stdlib.h>
#include <stdio.h>
#include <dos.h>
#include <conio.h>

#define Key_DOWN 0x5100
#define Key_UP 0x4900
#define Key_A 0x1e41
#define Key_a 0x1e61
#define Key_B 0x3042
#define Key_b 0x3062
#define Key_C 0x2e43
#define Key_c 0x2e63
#define Key_E 0x1245
#define Key_e 0x1265
#define Key_ENTER 0x1c0d

main()
{
  int ky,y;
  char ch;
  textbackground(0);
  clrscr();
  do
  {
    textmode(C80);
    textbackground(13);
    textcolor(RED);
    window(7,8,19,15);
    clrscr();
    textbackground(1);
    textcolor(RED);
    window(8,9,18,14);
    clrscr();
    gotoxy(3,3);
    cprintf("E:exit\r\n");
    gotoxy(3,4);
    cprintf("A:dir\r\n");
    gotoxy(3,5);
    cprintf("B:dir/p\r\n");
    gotoxy(3,6);
    cprintf("C:dir/w\r\n");
    y=10;
    upbar(y-1);
    do
    {
      ky=bioskey(0);
      switch(ky)
      {
     case Key_A:
     case Key_a:
            {
              y=12;
              ky=Key_ENTER;
              break;
            }
     case Key_B:
     case Key_b:
            {
              y=13;
              ky=Key_ENTER;
              break;
            }
     case Key_C:
     case Key_c:
            {
              y=14;
              ky=Key_ENTER;
              break;
            }
     case Key_E:
     case Key_e:
            {
              y=11;
              ky=Key_ENTER;
              break;
            }
     case Key_DOWN:
            {
              if(y<13)
              {
            upbar(y);
            y++;
              }
              break;
            }
     case Key_UP:
            {
              if(y>10)
              {
            downbar(y);
            y--;
              }
              break;
            }
     }
      }while(ky!=Key_ENTER);
      textbackground(WHITE);
      switch(y)
      {
      case 11:
      {
        ch='%';
        break;
      }
      case 12:
      {
        system("dir");
        getch();
        break;
      }
      case 13:
      {
        system("dir/p");
        getch();
        break;
      }
      case 14:
      {
         system("dir/w");
         getch();
         break;
      }
      }
      if(ch=='%')
      break;
    }while(1);
    clrscr();
  }
upbar(int y)
{
  int i;
  typedef struct texel_struct
  {
     unsigned char ch;
     unsigned char attr;
  }texel;
  texel t;
  for(i=9;i<=17;i++)
  {
    gettext(i,y,i,y,&t);
    t.attr=0x1f;
    puttext(i,y,i,y,&t);
    gettext(i,y+1,i,y+1,&t);
    t.attr=0x4f;
    puttext(i,y+1,i,y+1,&t);
  }
  gotoxy(3,y+1);
  return;
}
downbar(int y)
{
  int i;
  typedef struct texel_struct
  {
     unsigned char ch;
     unsigned char attr;
  }texel;
  texel t;
  for(i=9;i<=17;i++)
  {
    gettext(i,y,i,y,&t);
    t.attr=0x1f;
    puttext(i,y,i,y,&t);
    gettext(i,y-1,i,y-1,&t);
    t.attr=0x4f;
    puttext(i,y-1,i,y-1,&t);
  }
  gotoxy(3,y-1);
  return;
}
搜索更多相关主题的帖子: include 菜单 
2013-05-09 20:43
Explorerlxz
Rank: 9Rank: 9Rank: 9
来 自:zzu
等 级:蜘蛛侠
威 望:4
帖 子:302
专家分:1032
注 册:2013-4-24
收藏
得分:2 
Key_DOWN 0x5000
Key_UP 0x4800
你的是page up、page down的键盘扫面码。
2013-05-10 18:17
l1091029778
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-4-17
收藏
得分:0 
回复 2楼 Explorerlxz
呵呵,确实是这样啊,初学者,我在自学
2013-05-14 18:47
快速回复:为什么我菜单程序按上下键怎么没有反应呢?求帮助啊!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028441 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved