2

curses ウィンドウに背景を追加しようとしています。私はこれらの2つのプロパティを持っています

私はこれらの2つの方法を見つけました:

bkgd(ch)

bkgdset(ch)

ただし、それらを実装することはできません:

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

これにより、win1 が大量のダイヤモンドで満たされます。非常に興味深い効果ですが、私が望んでいたものではありません。背景を赤くしたい。

色は私の端末で完全に機能します。

4

1 に答える 1

1

しばらく経ちましたが、私の例はまだ役に立つかもしれません:

使うときの私にとっては同じ「ダイヤモンド」です

window.bkgd(COLOR_RED)

bkgdメソッドがcharを受け取り、それをウィンドウのすべての空きスペースに出力するため、これが表示されるようです(古いドキュメントを参照)。

ただし、必要な背景色との色のペアを使用して、他のものを書き込む前にすべての画面位置に適用することができます。

これが私がそれを解決した方法です:

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
于 2015-01-22T22:44:38.750 に答える