2013-10-17 27 views
1

嘗試將背景添加到curses窗口。我有這兩個屬性在Ruby中設置窗口的背景色curses

我發現這兩種方法:

bkgd(ch) 

bkgdset(ch) 

但是,我無法實現他們:

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

這填補win1與鑽石的負載!非常有趣的效果,但不是我想要的。我想要一個紅色的背景。

顏色在我的終端工作完美。

+0

你有沒有弄清楚如何設置背景顏色紅寶石的詛咒LIB?我可以得到背景字符來顯示,但它似乎忽略了我的顏色。 –

回答

0

它已經有一段時間,但也許我的例子仍然是有用的:

它使用

window.bkgd(COLOR_RED) 

這似乎出現時相同的「鑽石」對我來說,因爲bkgd方法採用char並將其打印到窗口的所有空閒空間(請參閱old doc)。

但是,您可以使用具有所需背景顏色的顏色對,並在寫入其他東西之前將其應用於所有屏幕位置。

這是我如何解決它:

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