a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 78|回复: 0

[C语言] 菜单的制作

[复制链接]
发表于 2012-7-31 21:48:08 | 显示全部楼层 |阅读模式
  下面是本人做的一个关于菜单的程序,其中对菜单的各种改变采用了重画..; J* N' ^  H9 Z4 Z
  源程序如下:
7 L' {' p- i- k$ y2 Y" Y  #include graphics.h
& b: N9 a  C# v' N  #include stdio.h8 T& w& _, k9 U( ^2 f9 K) R
  #include stdlib.h
+ W! D0 b3 z7 Q7 c1 q  #include bios.h4 H# N! N$ m) Z2 L/ y0 ~1 a1 C
  #define MenuNum 3/ @. A' a: b7 B% U3 i
  #define FALSE 0
' R* j- {( @; o( m  #define TRUE 1- K+ n1 Z& a8 E: h6 a+ ?" q0 L
  #define START 1
/ t! m  z0 |% O  Y8 }5 p% J2 r. ]  #define LEFTSHIFT 2
2 n3 V$ ?+ E+ H2 ~0 i, b  #define RIGHTSHIFT 3. e. O* P" K0 c8 Y9 h
  #define ENTER 4
! e% e  H5 S% ?! d0 J! v  #define EXIT 5- z6 Q/ k5 t9 }' E! U1 y4 J( G
  #define UP 6  H, [/ E7 H- [8 K8 X4 o
  #define DOWN 7
$ G; [) d) U5 m6 M, V% \: c; m  typedef structmenu;+ i: |$ R0 k" }9 v3 p) X& ]) G
  void *saveImage; /*保存菜单覆盖的区域*/
3 ]1 R+ j+ K9 o" ], R  int mHeight,mWidth; /*窗口高,宽*/
' @: ?  z2 M. N* b( F8 l  int mutex=0;1 K7 e- w' K! ]2 ^
  menu MainMenu=},
4 @! S+ w) d8 s3 P& b  },
: {. C5 g5 G6 j9 l- M. V( }  }};
. R3 M$ D  l8 {4 E0 ]( l$ y. k# x. D  void showItems /*显示*/
' U1 s" E6 r. A9 q0 p) X  }7 {& v( h" X3 g& U
  void init
" d- {7 ~  X- l# {5 n4 |4 S5 d  initm$ f6 ]% }" \/ o2 Q1 T- O( j# t3 ]
  }
9 J4 d! @, H: o' j% ]$ b1 O/ \  void process /*主菜单移动*/
+ \+ t5 _: a3 X" O3 V, |  void process3 /*子菜单移动*/
( e+ S5 p" ~4 ]5 z7 M  c2 ^  process1 /* 退出 */
' P7 O2 }. T  t/ K7 f  main6 {6 E0 I% k6 s/ @' D
  else. g: C- s, V' x
  process;
' `. H; y/ R2 n( t5 [0 p  W  }
6 ]( e7 _+ `6 B% l/ f. Y7 ~+ a5 t  break;
; F" G. R$ M2 l4 @7 o+ F( T+ U  case RIGHTSHIFT:
" |' D- R" Y0 c6 e, `  if
2 o- B! e' F' \" }  r  else+ ^& o, Y+ Y8 i  m
  process;; W" {4 M1 j" q, g( y2 h7 f, U
  }5 H* ]4 d: \5 U. W% L1 `& L
  break;' H) f/ j# |& `2 f. c" L
  case ENTER:
7 L! L5 W* N2 j6 n) d/ T  if
. n+ @8 O: C$ c- k  else
, t2 D2 [7 C* b+ R6 q1 {  process1;: u7 A5 }' R% x  O& T
  break;$ G) d5 W1 D  C; x8 D
  case EXIT:6 _  x( e  F1 y8 S, u. f6 H
  if" D) P: F9 ]1 g
  else: D3 _+ @. q9 \
  quit=TRUE;' n8 c- V) Z$ u6 y3 A3 D. }. E; V
  break;
: h. m( E3 y5 y: }- \4 P  case DOWN:+ Z) h1 E- |( j4 j6 e4 ~
  if
' |: t$ ]( W% b) P: r! i  {* s- `2 }9 O+ \; d3 V. B
  &
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-6-5 08:24 , Processed in 0.212650 second(s), 22 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表