在Ruby中诅咒设置窗口的背景颜色(Set a window's background co

2019-10-18 19:26发布

尝试添加背景一个诅咒窗口。 我有这两个属性

我发现这两种方法:

bkgd(ch)

bkgdset(ch)

然而,我无法实现它们:

win1.new(10,10,10,10)
win1.box('|','-')
win1.bkg(COLOR_RED) 

这填补WIN1与钻石的负载! 很insteresting影响,但不是我想要的。 我希望有一个红色的背景。

颜色在我的终端正常工作。

Answer 1:

它已经有一段时间,但也许我的例子仍然是有用的:

这是相同的“钻石”对我来说,当使用

window.bkgd(COLOR_RED)

这似乎显示,因为bkgd方法接受一个字符 ,并打印到窗口的所有自由空间(见旧文档 )。

但是,那么你可以用颜色对与想要的背景颜色和写作oher东西之前,将其应用到所有的屏幕位置。

这是我如何解决它:

require 'curses'    

init_screen
start_color

init_pair(COLOR_RED, COLOR_WHITE, COLOR_RED)
window = Curses::Window.new(0, 0, 0, 0)

window.attron(color_pair(COLOR_RED)) do
  lines.times do |line|
    window.setpos(line, 0)
    window << ' ' * cols
  end
end


文章来源: Set a window's background color in Ruby curses
标签: ruby curses