我正在尝试在curses窗口中写一些东西,但它似乎也写在边框上。我该如何修复下面的代码?
win_self = newwin(LINES / 2, COLS, 0, 0);
box(win_self, 0, 0);
wrefresh(win_self);
wprintw(win_self, "foobar");
答案 0 :(得分:12)
在curses中,box()
生成的边框位于边框内。据我所知,没有办法简单地说“不要覆盖我的边界”。
尽管如此,我现在可以想到三种解决方案:
move()
)refresh()
屏幕(你可能仍然覆盖了一些东西,但至少它不是边框字符)
只是为了说清楚:box()
函数不会在窗口中添加属性“此窗口有可见边框”,它只是在窗口周围打印边框字符。
你是:
答案 1 :(得分:0)
我想说最简单的方法是在窗口边框内创建一个窗口并在该窗口中打印。
win_self = newwin(LINES / 2, COLS, 0, 0);
box(win_self, 0, 0);
derwin_self = derwin(win_self, LINES / 2 - 2, COLS - 2, 0, 0);
wprintw(derwin_self, "foobar");