ºìÁªLinuxÃÅ»§
Linux°ïÖú

curses ÇóÖú

·¢²¼Ê±¼ä:2014-10-06 10:41:29À´Ô´:ºìÁª×÷Õß:tian365
suse linuxÔÚÓÃcurses ºÍmenu ±àÖÆ²Ëµ¥Ê±£¬²Ëµ¥ÏîÖ»ÄÜÓÃÓ¢ÎIJ»ÄÜÓÃÖÐÎÄ£¬²»ÖªÊǺÎÒò£¬ÊDz»ÊÇMENU²»Ö§³ÖÖÐÎÄ£¿
ÔÚ´¿Ó¢ÎIJ˵¥Ï¹â±êÄÜÔÚ"Choice1", "Choice2", "Choice3", "Choice4", "Exit",Ö®¼äÒÆ¶¯£¬
¶ø½«"Choice3"¸ÄΪ¡°Ñ¡Ôñ3¡±ÔòÖ»ÄÜÔÚ"Choice1", "Choice2",Ò²²»ÏÔʾºóÃæµÄ²Ëµ¥(ÄÜÔÚµÚ8ÐÐÏÔʾ¡°Í˳ö¡±£©¡£Ô­´úÂëÈçÏ £º
#include
#include
#include
#include
#define ARRAY_SIZE(a)(sizeof(a)/sizeof(a[0]))
#define CTRLD 4

char *choices[]={
"Choice1", "Choice2", "Ñ¡Ôñ3", "Choice4", "Exit",
};

int main()
{
ITEM **my_items;
int c;
MENU *my_menu;
int n_choices,i;
ITEM *cur_item;

initscr();
cbreak();
noecho();
keypad(stdscr,TRUE);
n_choices=ARRAY_SIZE(choices);
mvprintw(7,0,"n=%3d",n_choices);

my_items=(ITEM**)calloc(n_choices+1,sizeof(ITEM*));
for(i=0;i {
my_items[i]=new_item(choices[i],choices[i]);
}
my_items[n_choices]=(ITEM*)NULL;
my_menu=new_menu((ITEM**)my_items);
mvprintw(8,0,"F1 to Í˳ö£¨Exit£©");
mvprintw(LINES - 2,0,"F1 to Í˳ö£¨Exit£©");
post_menu(my_menu);
refresh();
while((c=getch())!=KEY_F(1))
{
switch(c)
{
case KEY_DOWN:
menu_driver(my_menu,REQ_DOWN_ITEM);
break;
case KEY_UP:
menu_driver(my_menu,REQ_UP_ITEM);
break;
}
}
free_item(my_items[0]);
free_item(my_items[1]);
free_menu(my_menu);
endwin();
}

Çó¸ßÊÖÖ¸µã
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 2 ÌõÆÀÂÛ

  1. tian365 ÓÚ 2014-10-09 13:41:37·¢±í:

    ×öÒ»¸ö×Ö·û²Ëµ¥½çÃæ

  2. 783456910 ÓÚ 2014-10-08 10:04:54·¢±í:

    ²»¶®£¬°ï¶¥Ò»Ï£¬×öʲôÏîÄ¿ÄØ£¿