2011-12-06 15 views
4

我最近已經介紹到ncurses異步鍵盤鍵監聽,並與它相處得很好。我面臨的一個問題是,您只能在可見屏幕上顯示文本,無滾動條。我想知道它是否可以繼續使用ncurses,因爲它非常可愛,但該程序仍然保持滾動條而不是到達最後一行並留在那裏。使用比窗口更多的線條與ncurses

+1

我假定你的意思是,通過擴展比窗口更高的curses顯示,使GUI終端程序應用自己的滾動條? (不是,在curses環境中添加滾動條?) 現在沒有機會進行實驗,但是不能僅僅調整'extern int LINES'到你想要的大小......? (當然,這可能會破壞您在物理終端上的程序,例如Linux文本控制檯) – BRFennPocock

+0

@BRPocock不,這個想法並不是在curses環境中添加一個元素,而是讓程序移動到一個新行(超出終端窗口的範圍,迫使滾動條出現 – topherg

回答

11

scroll()。你必須先設置scrollok(win,TRUE)。實際上,如果你只是想像普通終端那樣發送數據,你只需要自己設置scrollok()

#include <ncurses.h> 

int main(void) 
{ 
    int i = 0; 

    initscr(); 

    scrollok(stdscr,TRUE); 

    while(1) 
    { 
     printw("%d - lots and lots of lines flowing down the terminal\n", i); 
     ++i; 
     refresh(); 
    } 

    endwin(); 
    return 0; 
}