4
我最近已经介绍到ncurses
异步键盘键监听,并与它相处得很好。我面临的一个问题是,您只能在可见屏幕上显示文本,无滚动条。我想知道它是否可以继续使用ncurses
,因为它非常可爱,但该程序仍然保持滚动条而不是到达最后一行并留在那里。使用比窗口更多的线条与ncurses
我最近已经介绍到ncurses
异步键盘键监听,并与它相处得很好。我面临的一个问题是,您只能在可见屏幕上显示文本,无滚动条。我想知道它是否可以继续使用ncurses
,因为它非常可爱,但该程序仍然保持滚动条而不是到达最后一行并留在那里。使用比窗口更多的线条与ncurses
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;
}
我假定你的意思是,通过扩展比窗口更高的curses显示,使GUI终端程序应用自己的滚动条? (不是,在curses环境中添加滚动条?) 现在没有机会进行实验,但是不能仅仅调整'extern int LINES'到你想要的大小......? (当然,这可能会破坏您在物理终端上的程序,例如Linux文本控制台) – BRFennPocock
@BRPocock不,这个想法并不是在curses环境中添加一个元素,而是让程序移动到一个新行(超出终端窗口的范围,迫使滚动条出现 – topherg