我正在尝试在curses窗口内写入内容,但似乎也会将其写在边框上。如何修复下面的代码?
win_self = newwin(LINES / 2, COLS, 0, 0);
box(win_self, 0, 0);
wrefresh(win_self);
wprintw(win_self, "foobar");
box()
函数生成的边框是内部边框。据我所知,没有简单地说“不要覆盖我的边框”的方法。
尽管如此,目前我能想到三种解决方案:
move()
)refresh()
屏幕(您可能仍在覆盖某些东西,但至少不是边框字符)
只是为了更清楚一点: box()
函数不会向窗口添加“此窗口具有可见边框”的属性,它只是在窗口周围打印边框字符。
您可以:
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");