【问题标题】:Using more lines than the window has with ncurses使用比 ncurses 窗口更多的行
【发布时间】:2011-12-06 21:14:55
【问题描述】:

我最近被介绍给ncurses 进行异步键盘按键监听,并且相处得很好。我面临的一个问题是您只能在可见屏幕上显示文本,而没有滚动条。我想知道是否可以继续使用ncurses,因为它非常可爱,但让程序仍然保留滚动条而不是到达最后一行并留在那里。

【问题讨论】:

  • 我假设你的意思是,通过扩展一个比窗口更高的诅咒显示,让一个 GUI 终端程序应用它自己的滚动条? (不是,在 curses 环境中添加滚动条?)现在没有机会进行实验,但您不能将extern int LINES 调整为您想要的大小......? (当然,这可能会破坏您在物理终端上的程序,例如 Linux 文本控制台)
  • @BRPocock 不,这个想法不是在curses环境中添加一个元素,而是让程序移动到新的一行(超出终端窗口的范围,强制出现滚动条

标签: c linux ncurses scrollbars


【解决方案1】:

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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    • 1970-01-01
    相关资源
    最近更新 更多