(根据楼下朋友提示修改后的,编译无错误)
#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 |
注册
个人空间
