阅 读 文 章

C语言菜单源程序

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(sdccf) | 时间:2007-05-27 | 浏览:人次 ]


(根据楼下朋友提示修改后的,编译无错误)

#include <curses.h>; 
#include <stdlib.h>; 
#define ESC 27 
#define ENTER 10 

#define ITEM_NUM_1 3 
#define ITEM_NUM_2 2 
#define ITEM_NUM_3 3 
#define ITEM_NUM_4 4 

#define ITEM_NO_1 1 
#define ITEM_NO_2 2 
#define ITEM_NO_3 3 
#define ITEM_NO_4 4 

void init_curses(void); 
void Draw_menuhead(WINDOW *menuhead); 
WINDOW **Draw_menu(int start_cols,int itemNo); 
int view_menu(WINDOW **items,/*int itemNum,*/int start_cols,int itemNo); 
void Del_menu(WINDOW **items,int itemNum); 
int item_num(int itemNo); 

main() 

WINDOW *menuhead,*message; 
WINDOW **items;/*菜单项目指针,数组元素指向菜单项子项*/ 
int Key; 
int count;/*菜单子项的数目*/ 
int Re_item;/*菜单浏览返回值*/ 

init_curses(); 

wbkgd(stdscr,COLOR_PAIR(1)); 
menuhead=subwin(stdscr,1,80,0,0); 
message=subwin(stdscr,1,79,23,1); 

Draw_menuhead(menuhead);/*绘制菜单头部*/ 
move(2,1); 
printw("Please F1--F4 Select Menu..."); 
move(3,1); 
printw("Please ESC Quit..."); 
do { 
Key=getch(); 
switch(Key) { 
case KEY_F(1): 
items=Draw_menu(3,ITEM_NO_1);/*第3列,第1菜单*/ 
Re_item=view_menu(items,/*ITEM_NUM_1,*/3,ITEM_NO_1); 
touchwin(stdscr); 
refresh(); 
break; 
case KEY_F(2): 
items=Draw_menu(23,ITEM_NO_2);/*第23列,第2菜单*/ 
Re_item=view_menu(items,/*ITEM_NUM_2,*/23,ITEM_NO_2); 
touchwin(stdscr); 
refresh(); 
break; 

case KEY_F(3): 
items=Draw_menu(43,ITEM_NO_3);/*第43列,第3菜单*/ 
Re_item=view_menu(items,/*ITEM_NUM_3,*/43,ITEM_NO_3); 
touchwin(stdscr); 
refresh(); 
break; 
case KEY_F(4): 
items=Draw_menu(63,ITEM_NO_4);/*第63列,第4菜单*/ 
Re_item=view_menu(items,/*ITEM_NUM_4,*/63,ITEM_NO_4); 
touchwin(stdscr); 
refresh(); 
break; 
default: break; 

} while(Key!=ESC); 

delwin(message); 
delwin(menuhead); 
endwin(); 
exit(0); 


void Draw_menuhead(WINDOW *menuhead) 

wbkgd(menuhead,COLOR_PAIR(2)); 
wrefresh(menuhead); 
wmove(menuhead,0,0); 
waddstr(menuhead,"菜单1"); 
wattron(menuhead,COLOR_PAIR(3)); 
waddstr(menuhead,"(F1)"); 
wattroff(menuhead,COLOR_PAIR(3)); 
wmove(menuhead,0,20); 
waddstr(menuhead,"菜单2"); 
wattron(menuhead,COLOR_PAIR(3)); 
waddstr(menuhead,"(F2)"); 
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 菜单 语言 items menuhead start_cols WINDOW subwin

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.