LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 721|回复: 0

ncurses编程问题,求助~~

[复制链接]
发表于 2006-11-13 12:26:40 | 显示全部楼层 |阅读模式
想写一个nano的面板,但是实际过程中出了问题。
我以同样的方式调用和定义menubar和messagebar,但是只有menubar可以显示,是怎么回事啊?
代码如下:
#include <ncurses.h>                                  
#include <stdlib.h>

#define ENTER 10
#define ESCAPE 27

void init_curses()                               
{
        initscr();                               
        start_color();                               
        init_pair(1,COLOR_GREEN,COLOR_BLACK);       
        init_pair(2,COLOR_WHITE,COLOR_GREEN);
        curs_set(0);
        noecho();
        keypad(stdscr,TRUE);               
}
void draw_menubar(WINDOW *menubar)               
{
        wbkgd(menubar,COLOR_PAIR(2));
        wmove(menubar,0,10);
        waddstr(menubar,"GUN nano");
}
void draw_messagebar(WINDOW *messagebar)       
{
//        int y,x;
//        getmaxyx(stdscr,y,x);
        wbkgd(messagebar,COLOR_PAIR(2));
        wmove(messagebar,-3,1);
        waddstr(messagebar,"Ctrl+x to Exit.");
}
int main()
{
    int key,max_y,max_x;
    WINDOW *menubar,*messagebar;               
    init_curses();
   
    bkgd(COLOR_PAIR(1));
    getmaxyx(stdscr,max_y,max_x);               
    menubar=subwin(stdscr,1,max_x,0,0);
    messagebar=subwin(stdscr,1,max_x,max_y-3,1);
    draw_menubar(menubar);
    move(2,1);
    printw("ESC quits.");
    move(-3,1);
    draw_messagebar(messagebar);
    refresh();                                       
    if (key!=ESCAPE)
    {
            getch();
    }
   
    delwin(menubar);
    delwin(messagebar);
    endwin();                       
    return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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