我试图在诅咒窗口内写一些东西,但它似乎也在边框上写。我该如何修复下面的代码?
win_self = newwin(LINES / 2, COLS, 0, 0);
box(win_self, 0, 0);
wrefresh(win_self);
wprintw(win_self, "foobar");
在curses中,由
box()
生成的边界是inside边界。据我所知,没有办法简单地说“不要覆盖我的边框”。
尽管如此,我现在能想到三种解决方案:
move()
)refresh()
绘制屏幕(您可能仍在覆盖某些内容,但至少不是边框字符)
只是为了更清楚地说明:box()
函数不会向窗口添加“此窗口具有可见边框”属性,它只是在窗口周围打印边框字符。你是:
WINDOW *win_self = newwin(LINES / 2, COLS, 0, 0);
box(win_self, 0, 0);
WINDOW *derwin_self = derwin(win_self, LINES / 2 - 2, COLS - 2, 0, 0);
wprintw(derwin_self, "foobar");