2012-05-20 57 views
1

我自己找到了解决方案:在stdscr之后刷新winncurses:窗口颜色不起作用


我想有一个白色的窗口中出现蓝屏,我用下面的代码试了一下:

initscr(); 
WINDOW *win = newwin(10, 10, 10, 10); 

start_color(); 
init_pair(1, COLOR_BLACK, COLOR_BLUE); 
init_pair(2, COLOR_BLACK, COLOR_WHITE); 

wbkgd(stdscr, COLOR_PAIR(1)); 
wbkgd(win, COLOR_PAIR(2)); 
wrefresh(win); 
refresh(); 

但我只能得到一个完全地蓝屏。哪里不对?

感谢您的帮助!

+0

有没有人有一个想法? – qwertz

+1

如果您添加解决方案作为答案,您可以获得自我学习者徽章。 –

回答

4

解决方案:刷新stdscr之后的窗口:中

refresh(); 
wrefresh(win); 

代替:

wrefresh(win); 
refresh();