您好,祝您有个美好的一天..
因此,当您按下page-down
或page-up
按钮时,我使用向下或向上滚动的诅咒编写了这个简单的应用程序。
#include <curses.h>
#include <stdio.h>
#include <Windows.h>
int main(void)
{
int ch;
initscr();
cbreak();
keypad(stdscr,TRUE);
idlok(stdscr,TRUE);
scrollok(stdscr,TRUE);
printw("Welcome!");
refresh();
ch = getch();
while(ch != 'q'){
if(ch == KEY_PPAGE){
scrl(-1);
refresh();
}
else
{
scrl(1);
refresh();
}
ch = getch();
}
endwin();
return 0;
}
问题是,如果世界&#34;欢迎&#34;走出窗外,然后你不能用相反的按钮把它带回来。我认为这样的事情将通过增加窗口缓冲区来解决。但是,不知道如何做这样的事情,以及它是否有好处。
是否有任何想法/提示可以帮我解决这个问题?
答案 0 :(得分:1)
我在python中使用curses,我解决这个问题的方法是在窗口附加一个类似列表的数据结构,它包含要记住的所有行,以及表示第一个可见行的索引。从那里你可以找出哪些线应该是可见的,并在必要时重新计算。
使用Unicurses的python中的一个这样的实现可以找到here。它不在C中,但我希望它有所帮助。