Linux终端图形库curses简介和实例分析(2)

不过不尽如人意的是屏幕还是那个样子, 没有什么色彩. 要加色彩? 那也是挺容易的: 首先用start_color()函数开启颜色模式, 然后设置我们要的颜色就行了.

curses里的颜色是配对的, 要一个背景色对一个前景色. 使用之前用init_pair()初始化.

比如init_pair(1, COLOR_BLUE, COLOR_GREEN);就定义了一组颜色, COLOR_BLUE为前景色, COLOR_GREEN为背景色. 1是它们的标记号码(供其他函数调用时使用) 我们来看一个简单的例子:

/*--------------------------------------------------------------
A simple curses color demo program
Coder: jellen
Date: 3-26-2004
-------------------------------------------------------------*/

#include

int main()
{
initscr(); /*初始化屏幕*/
if(start_color() == OK) /*开启颜色*/
{
init_pair(1, COLOR_RED, COLOR_GREEN); /*建立一个颜色对*/
attron(COLOR_PAIR(1)); /*开启字符输出颜色*/
move(LINES/2, COLS/2);
waddstr(stdscr, "Yet another Hello, world!");
attroff(COLOR_PAIR(1)); /*关闭颜色显示*/
refresh();
}
else
{
waddstr(stdscr, "Can not init color");
refresh();
}
endwin(); /*关闭curses状态*/
return 0;
}


这个程序假如保存为color.c

那么你可以这样编译了: gcc -o color color.c -lcurses

用./color一运行个彩色的字? 呵呵, 虽然不好看, 但是说不定你自己以后可以用curses写出精美的程序.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzypsy.html