用颜色填充ncurses窗口

40

我只具备基础的ncurses知识,而且在man页面中也没有找到这个问题的答案。

当您为一个窗口设置前景和背景颜色时,有没有一种方式可以用背景颜色填充整个窗口?


将背景颜色设置为与前景颜色相同?还是用空格填充窗口? - Griffin
1
我的意思是一种类似于手动用空格填充窗口的例程。 - The Bearded Strangler
2个回答

44

请尝试使用bkgdwbkgd来指定窗口。

首先,您需要使用start_color()启用颜色支持。

然后定义颜色对。 例如:init_pair(1,COLOR_BLUE, COLOR_RED)

顺序是pair_numberforegroundbackground

最后,设置颜色:wbkgd(WindowName, COLOR_PAIR(1))


2
警告!不要忘记使用COLOR_PAIR(n),而不仅仅是n。我曾经这样做,花了两天时间试图弄清楚为什么ncurses没有显示我的输出中的空格。 (这应该包含搜索词,以便下一个可怜的人可以更快地找到解决方法!) - Mike

1
你也可以使用 wbkgd(stdscr, COLOR_PAIR(1)) 来改变主窗口的颜色。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接